to.have.been.calledWith 不是 chai#3.5.0 中的函数错误
to.have.been.calledWith is not a function error in chai#3.5.0
我已经在我的项目中更新了 chai 的版本,在更新到 3.5.0
之后,一些测试失败了。我发现我无法测试我监视的函数的参数。
我创建了一个 fiddle 以在此处使用示例方法重现我的问题 - JSFiddle
describe('Mocha + Chai JsFiddle', function() {
it('should test arg', function() {
var spy = sinon.spy(test, 'testFun');
test.testFun(5);
expect(spy).to.have.been.called.with(5);
});
});
谁能建议我们如何在新版本 chai.js 中测试参数?
由于您正在使用 Sinon,您可以使用 Sinon 间谍方法并使用 Chai 检查结果:
expect(spy.calledWith(5)).to.equal(true);
或者您可以使用 sinon-chai,这样您就可以:
expect(spy).to.have.been.calledWith(5);
也许你忘了包含 sinon-chai.js?
这是工作 fiddle https://jsfiddle.net/zjet0432/1/
我只添加了 sinon-chai.js 并将你的最后一行更改为 expect(spy).to.have.been.calledWith(5);
我已经在我的项目中更新了 chai 的版本,在更新到 3.5.0
之后,一些测试失败了。我发现我无法测试我监视的函数的参数。
我创建了一个 fiddle 以在此处使用示例方法重现我的问题 - JSFiddle
describe('Mocha + Chai JsFiddle', function() {
it('should test arg', function() {
var spy = sinon.spy(test, 'testFun');
test.testFun(5);
expect(spy).to.have.been.called.with(5);
});
});
谁能建议我们如何在新版本 chai.js 中测试参数?
由于您正在使用 Sinon,您可以使用 Sinon 间谍方法并使用 Chai 检查结果:
expect(spy.calledWith(5)).to.equal(true);
或者您可以使用 sinon-chai,这样您就可以:
expect(spy).to.have.been.calledWith(5);
也许你忘了包含 sinon-chai.js?
这是工作 fiddle https://jsfiddle.net/zjet0432/1/
我只添加了 sinon-chai.js 并将你的最后一行更改为 expect(spy).to.have.been.calledWith(5);