【问题标题】:Sinon.js: spy empty callbackSinon.js:间谍空回调
【发布时间】:2016-02-16 18:23:50
【问题描述】:

我正在尝试使用 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;

有什么想法吗?

谢谢

【问题讨论】:

  • 你不能检查不是间谍的东西!
  • 是的,我知道,这是有道理的。但是,最好的方法是什么?或者方式哈哈

标签: javascript sinon sinon-chai


【解决方案1】:

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

expect(handleLoginActions()).to.not.throw(Error)

【讨论】:

    猜你喜欢
    • 2020-07-21
    • 2012-02-25
    • 1970-01-01
    • 2014-06-18
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 2018-02-28
    • 2012-04-14
    相关资源
    最近更新 更多