2014-05-15 51 views
-1

我正在學習使用Jasmine with Javascript &HTML。我創建了我的HTML頁面,它有一個輸入框,幾個顯示區域和按鈕。我還寫了我的JS代碼,它基本上在DOM上工作,方法是向我的輸入框和按鈕添加事件處理程序。現在,當試圖用Jasmine測試我的代碼時,我正在運行SpecRunner.html與我的spec文件(在輸入框中有很少的測試用例)以及我的src文件,這是我之前編寫的同一個JS文件。但由於我的輸入元素不可用,JS文件引發異常。我嘗試在Jasmine的beforeEach函數中使用setFixtures(),但我猜JS代碼在任何DOM結構由setFixtures()方法創建之前就已經被執行了。茉莉花:如何加載我的HTML,然後運行Specrunner

你能幫我解決這個問題嗎?

謝謝!

回答

0

確保您在您的SpecRunner中包含了jasmine-jquery - setFixtures不是本機Jasmine調用。還要確保你直接給你的html代碼setFixtures,而不是它打開的html文件(這就是loadFixtures的用途)。我也會檢查你的Javascript控制檯,看看它是否提供任何錯誤的跡象。

+0

讓我更好地解釋我的問題陳述。 – sidrocks

+0

我想測試的JS代碼首先將事件處理程序添加到HTML頁面中的TEXT BOX中。我正在編寫的所有測試用例都在輸入框中。所以,現在當我運行Specrunner.html,它具有我的Spec JS和JS代碼時,JS代碼拋出引用錯誤,它無法找到輸入元素。即使我使用setFixtures添加輸入元素,我的JS代碼運行1st,然後運行specJ,這仍然給我相同的異常。如果我在JS代碼文件之前包含了specJS,則燈具不再可用。所以再次同樣的問題。 – sidrocks