-1

我正在尝试使用 sinon.js 测试回调函数

handleLoginActions = function (callback) {
    ...
    if (callback) {
        callback()
    }
    ..
}

var loginCallbackStub = stub();
handleLoginActions(loginCallbackStub);
expect(loginCallbackStub).to.have.been.calledOnce; //works great

但问题是当我需要使用无效回调函数测试场景时,我收到此错误:null 不是间谍或对间谍的调用!(我的逻辑)

var loginCallbackStub = null;
handleLoginActions(loginCallbackStub);
expect(loginCallbackStub).to.not.have.been.called;

有任何想法吗?

谢谢

4

1 回答 1

0

调用不是函数的东西会抛出错误,所以你应该测试它不会抛出错误:

expect(handleLoginActions()).to.not.throw(Error)
于 2016-02-16T18:41:40.167 回答