使用我的代码:
it('should start application only once', function(done){
var spy = sinon.spy(server, 'startup');
var calledOnce = spy().calledOnce;
calledOnce.should.be.true;
done();
});
我收到错误:
无法读取未定义的属性。
calledOnce
变量未定义。我在如何设置间谍并使用它时做错了什么。我该如何解决这个问题?
Startup是我从object.js文件导出的对象中的一种方法。
答案 0 :(得分:1)
如果你想看看是否已经调用了某个特定的函数/方法,你需要在调用之前监视它(否则间谍将不知道它):
var server = ...
var spy = sinon.spy(server, 'startup');
server.startup(...);
spy.calledOnce.should.be.true;