Supposons que j'ai une méthode auxiliaire helper.someFn
et la méthode de service servMethod
qui appelle helper.someFn
plusieurs fois. Maintenant, tout en testant servMethod
, j'ai bloqué helper.someFn
.check nth call dans la méthode Sinon stawbed
// 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();
});
});
Disons que servMethod
a appelé helper.someFn
5 fois avec différents param chaque fois. À l'intérieur du test, je peux accéder au premier appel de helper.someFn
avec someFnStub.firstCall
. Je peux accéder jusqu'au troisième appel de cette manière. Comment puis-je accéder aux prochains appels comme les 4ème ou 5ème appels?
Il est intéressant que je viens de voir que je me sers une ancienne version de sinon^1.17.7. Et j'ai trouvé le doc pour cela dans http://legacy.sinonjs.org/docs/ Et dans mon cas 'onCall' ne fonctionnait pas, plutôt' getCall' fonctionnait. –
@RazinTanvir étrange, comme les docs indiquent que 'onCall' a été ajouté en 1.8 et que vous utilisez une version plus récente. – robertklep