尝试使用Spy时未定义

时间:2015-07-16 16:52:18

标签: node.js sinon

使用我的代码:

    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文件导出的对象中的一种方法。

1 个答案:

答案 0 :(得分:1)

如果你想看看是否已经调用了某个特定的函数/方法,你需要在调用之前监视它(否则间谍将不知道它):

var server = ...
var spy    = sinon.spy(server, 'startup');

server.startup(...);

spy.calledOnce.should.be.true;