2014-01-27 53 views
1

我正在編寫一個jasmine單元測試用例來測試按鈕的單擊事件。我已經爲模態彈出框寫了以下測試用例,請找到我的plnkr here。我有一個名爲Add的按鈕。如果用戶點擊該按鈕,則打開一個模式彈出窗口。所以我想編寫一個測試用例來查找當用戶點擊添加按鈕時是否顯示模式。我該怎麼做?感謝, Varun克里希納。 P如何編寫一個jasmine單元測試用例來測試angularjs中的事件處理程序

回答

0

首先,和所有的單元測試一樣,確保你沒有將N個測試混合成一個 - 這總是會造成麻煩。

在你的情況下,測試可以被分成2個試驗:

  1. Add點擊叫做正確的功能?
  2. 該功能是否顯示模型對話框?

對於第一個測試,我建議您將事件處理程序的代碼移入一個函數中,而不是將其內聯。通過這種方式,可以覆蓋測試設置的功能,並在以後恢復它(僞代碼):

// setup 
var origFunc = addFunction; 
var iWasCalled = false; 
addFunction = function() { iWasCalled = true; } 

// test 
$('#add').click(); 

// validation 
assert that iWasCalled is now true 

// tear down 
addFunction = origFunc 

第二個測試現在意味着你調用新的功能,並檢查是否有現在一個模式彈出的DOM。

相關問題