我是Jasmine的新手,正在寻找一个示例来测试一个非常简单的change
事件处理程序。
我有以下代码:
$(document).ready(function() {
$("#myId").change(function() {
my.functionOne();
});
});
my = {
functionOne : function() {
// do stuff
}
};
如何测试执行事件处理程序时是否调用了functionOne?
谢谢。
最佳答案
看看有关Spies的Jasmine文档:http://pivotal.github.io/jasmine/#section-Spies
测试事件处理程序的最简单方法是:
describe('#myId behaviour', function(){
//.. Your other setup here.
it('calls functionOne on #myId change event', function(){
spyOn(my, 'functionOne');
// Force a change event to fire.
$("#myId").trigger('change');
expect(my.functionOne).toHaveBeenCalled();
});
// Other tests...
}
我不知道如何使用HTML和jQuery设置测试,但是这两个库也可能派上用场: