【发布时间】:2017-08-22 06:02:10
【问题描述】:
假设我有一个辅助方法helper.someFn 和服务方法servMethod 多次调用helper.someFn。现在在测试servMethod 时,我存根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 次呼叫?
【问题讨论】: