2014-01-27 55 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。

相关问题