我有这个函数,我希望在调用jasmine测试脚本5s后调用它。
我尝试了茉莉花文档中描述的传统方式:
describe("Tests:", function(){
it("Expects slowFunction() will be called", function(){
var slowFunctionSpy = spyOn(window, 'slowFunction').andCallThrough();
init();
waitsFor(function() {
expect(slowFunctionSpy).toHaveBeenCalled();
}, "Call Not Answered by Remote End.", 10000);
});
});
init()
函数触发一系列事件,也就是说,它启动了一个函数,最终将它带到被调用的slowFunction()
。
我遗漏了run()方法,因为我认为如果waitsFor()
让expect()
成为true
,那么测试应该通过吗?
我也试过jasmine.async,但测试仍然失败。
describe("Tests:", function(){
var foo=false;
var async = new AsyncSpec(this);
async.beforeEach(function(done){
setTimeout(function(done){
foo = true;
init();
done();
}, 10000);
});
it("Expects slowFunction() will be called", function(){
var slowFunctionSpy = spyOn(window, 'slowFunction').andCallThrough();
expect(slowFunctionSpy).toHaveBeenCalled();
});
});
可能是我不清楚的事情。请帮忙清除我的想法吗?
更新: slowFunction()
是一个自定义事件,根据我的谷歌搜索结果,我认为spyOn()不适用于事件。所以新问题:
如何监视Jasmine中的自定义事件?