【发布时间】:2017-03-30 22:35:02
【问题描述】:
我正在使用 Mocha、Chai 和 Sinon 来测试一些 Node 方法。
此测试通过,当我将 'callOnce' 更改为 'callTwice' 时,它按预期失败。
it('should call checkIfRoomExists once', function (done) {
var check = sandbox.spy(RoomInfoModel, 'checkIfRoomExists');
ViewBusiness.getViewToRender("thisisanoneknownroom", function (viewName) {
expect(check.calledOnce).to.equal(true);
done();
})
});
但是,当我尝试按照教程进行操作时,“期望”设置如下:
it('should call checkIfRoomExists once', function (done) {
var check = sandbox.spy(RoomInfoModel, 'checkIfRoomExists');
ViewBusiness.getViewToRender("thisisanoneknownroom", function (viewName) {
expect(check).to.have.been.calledTwice;
done();
})
});
请注意,我在第二个测试中测试“calledTwice”。它仍然通过。如果我将其更改为“notCalled”,它仍然会通过。基本上它总是通过。
我错过了什么?
【问题讨论】:
-
我应该补充一下,这与测试更改状态无关。我一直在用另一个替换一个并拆除沙箱。
标签: node.js mocha.js sinon chai