【发布时间】:2018-01-01 00:43:45
【问题描述】:
我在用 Sinon 和 Chai 编写 JavaScript 测试时遇到问题。 我正在尝试检查一个函数是否在间谍上被调用并得到我得到
“错误:无效的 Chai 属性:calledOnce”
我在另一个具有相同测试依赖项的项目中做同样的事情,没有任何问题。
var udpSocketStub = this.sandbox.spy(udpSocket, 'send');
expect(udpSocketStub).calledOnce; // SHOULD FAIL
"dependencies": {
"body-parser": "~1.17.1",
"bootstrap": "^4.0.0-alpha.6",
"chai": "^4.1.0",
"co-mocha": "^1.2.0",
"cookie-parser": "~1.4.3",
"debug": "~2.6.3",
"express": "~4.15.2",
"jquery": "^3.2.1",
"mocha": "^3.4.2",
"morgan": "~1.8.1",
"node-compass": "0.2.3",
"pug": "^2.0.0-rc.1",
"serve-favicon": "~2.4.2",
"sinon": "^2.3.8",
"sinon-chai": "^2.12.0"
}
【问题讨论】:
-
你确定吗?我认为应该是
expect(udpSocketStub.send.calledOnce).to.be.true,如果我错了,请纠正我。 -
@hinok ricostacruz.com/cheatsheets/sinon-chai.html 看起来你不需要
to.be.true。 -
@Elliott sinon-chai,我错过了那个包裹,你说得对。但仍然可能应该是
expect(udpSocketStub.send).calledOnce;
标签: javascript sinon sinon-chai