【发布时间】:2017-02-27 18:39:31
【问题描述】:
我正在尝试在下一个场景中测试函数调用:
JS:
var Demo = function(option) {
if (option) func();
function func() {
console.log('called')
}
return {
'func': func
}
}
茉莉花:
beforeEach(function() {
var demo = new Demo(true);
spyOn(demo, 'func');
this.demo = demo;
});
it("should call func()", function() {
expect(this.demo.func).toHaveBeenCalled();
});
尽管它在控制台中记录了'called',但它使规范失败:
预期的间谍函数已被调用。
从代码流来看,我想这是因为间谍开始在函数被调用之后。所以我的问题 - 在测试中捕获函数调用的正确方法是什么?
【问题讨论】:
标签: javascript jasmine