【发布时间】:2021-08-27 16:21:00
【问题描述】:
我正在尝试使用用 Sinon 编写的测试用例来跟踪对另一个函数的调用次数。我有以下代码,在运行测试时,calledFuncSpy callCount 总是让我得到 0,这是意料之外的。同时,在console.log 上运行另一个间谍会给我正确的输出,我在代码中留下了注释。有谁知道可能是什么问题?
这是代码。如果需要更多信息来解决此问题,请告诉我。
specs/mymodule.js
const mymodule = require("../src/mymodule.js");
var sinon = require("sinon");
const assert = require("assert");
describe("Test suite", function() {
let calledFuncSpy;
let consoleSpy;
beforeEach(function () {
calledFuncSpy = sinon.spy(mymodule, "calledFunc");
consoleSpy = sinon.spy(console, "log");
})
afterEach(function () {
calledFuncSpy.restore();
consoleSpy.restore();
})
it("Test the add method", function () {
mymodule.ownHelloWorld();
assert.deepStrictEqual(calledFuncSpy.callCount, 1);
// assert.deepStrictEqual(consoleSpy.callCount, 1);
});
})
src/mymodule.js
function ownHelloWorld() {
calledFunc();
}
function calledFunc() {
console.log("Hello world");
}
module.exports = {
ownHelloWorld,
calledFunc
}
【问题讨论】:
标签: node.js unit-testing testing sinon