gpt4 book ai didi

node.js - 检查 Sinon stub 方法中的第 n 次调用

转载 作者:搜寻专家 更新时间:2023-11-01 00:37:40 27 4
gpt4 key购买 nike

假设我有一个辅助方法 helper.someFn 和多次调用 helper.someFn 的服务方法 servMethod。现在,在测试 servMethod 时,我 stub 了 helper.someFn

// helper.js
exports.someFn = (param) => {
return param + 1;
}


// service.spec.js
describe('Spec', () => {
it('first test', (done) => {
var someFnStub = sinon.stub(helper, 'someFn', (param) => {
return 0;
});
// do servMethod call which calls someFn
expect(someFnStub.firstCall.calledWith(5)).to.be.true;

helper.someFn.restore();
done();
});
});

假设 servMethod 调用了 helper.someFn 5 次,每次都使用不同的参数。在测试中,我可以使用 someFnStub.firstCall 访问 helper.someFn 的首次调用。我可以通过这种方式访问​​直到第三次通话。如何访问下一个电话,例如第 4 次或第 5 次电话?

最佳答案

源代码显示firstCall , secondCallthirdCall实际上只是糖分 getCall .

// lib/sinon/spy.js
// ...
this.firstCall = this.getCall(0);
this.secondCall = this.getCall(1);
this.thirdCall = this.getCall(2);
this.lastCall = this.getCall(this.callCount - 1);
// ...

因此,对于第四次调用的断言,您将使用 stub.getCall(3)

关于node.js - 检查 Sinon stub 方法中的第 n 次调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45809928/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com