我剛開始使用QUnit,並且遇到了問題。靜態選擇的變量在運行QUnit測試時會丟失
當我寫我的JavaScript文件,我把我所有的變量在頁面的頂部是這樣的:
var $input1 = $('#input1');
var $submit = $('#submit');
然後,我電匯像這樣我的事件:
$submit.on('click', function (e) {
submit(e);
});
這很好,而且是一種很好的方式,無需每次需要時都要繼續查找所有元素。 (到處都是亂碼$('#submit')
)
但是,現在我正在用QUnit進行測試,qunit-fixture
div中的項目在每次運行新測試時都會被替換。 (我重寫一些代碼,別人沒有,所以有一些初步的現有的測試。)
截至目前,測試,其他人寫在附加的的beforeEach
一些靜態HTML的qunit-fixture
DIV模塊。
最後一點需要注意的是,這是ASP.NET MVC項目的一部分,我們正在使用chutzpah運行測試,因此我們沒有製作明確的HTML頁面來運行每個測試文件。我們的意圖是在命令行中運行它們,特別是作爲構建過程的一部分。
當我們沒有爲他們建立完整的HTML頁面時,我該如何獲得那些應該始終保持在頁面上的靜態項目?
編輯 我已經做了一點研究這一點,因爲我在測試文件中加入HTML到DOM,當我在上面選擇變量,這些元素都沒有上該頁面還在我正在測試的文件中。
對不起,你遇到了一些困難。 Chutzpah已經將這些參考文獻添加了很長時間,這是我聽到的第一個問題。我想這是因爲人們會將他們的代碼包裝在$(function(){})調用中,以確保它在文檔準備好之後發生。那對你有用嗎? 如果不是,我們可以看看改變順序,但我需要確保這不會打破其他人。我最好不要你使用模板,因爲它比較脆弱,但我聽到你對缺乏文檔的反饋。謝謝! –