我正在使用Mocha,Chai和Sinon測試一些Node方法。測試總是通過Sinon和Chai
此測試通過,當我將'calledOnce'更改爲'calledTwice'時,它按預期失敗。
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',它仍然會通過。基本上它總是通過。
我錯過了什麼?
我應該補充說,這與測試更改狀態無關。我一直在替換另一個並撕下沙箱。 –