我试图用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;
有什么想法吗?
由于
答案 0 :(得分:0)
调用非函数的东西会引发错误,所以你应该测试它不会抛出错误:
expect(handleLoginActions()).to.not.throw(Error)