尝试使用间谍时未定义
Undefined when trying to use Spy
使用我的代码:
it('should start application only once', function(done){
var spy = sinon.spy(server, 'startup');
var calledOnce = spy().calledOnce;
calledOnce.should.be.true;
done();
});
我收到错误:
Cannot read property should of undefined.
calledOnce
变量未定义。我在如何设置和使用间谍方面做错了。我该如何解决这个问题?
Startup 是我从 server.js 文件导出的对象中的一个方法。
如果您想查看某个特定的 function/method 是否已被调用,您需要在 它被调用之前 对其进行监视(否则间谍不会知道关于它):
var server = ...
var spy = sinon.spy(server, 'startup');
server.startup(...);
spy.calledOnce.should.be.true;
使用我的代码:
it('should start application only once', function(done){
var spy = sinon.spy(server, 'startup');
var calledOnce = spy().calledOnce;
calledOnce.should.be.true;
done();
});
我收到错误:
Cannot read property should of undefined.
calledOnce
变量未定义。我在如何设置和使用间谍方面做错了。我该如何解决这个问题?
Startup 是我从 server.js 文件导出的对象中的一个方法。
如果您想查看某个特定的 function/method 是否已被调用,您需要在 它被调用之前 对其进行监视(否则间谍不会知道关于它):
var server = ...
var spy = sinon.spy(server, 'startup');
server.startup(...);
spy.calledOnce.should.be.true;