J'essaie de stub une méthode qui prend des arguments.Stub une fonction avec des arguments
J'utilise normalement mon objet comme ceci:
const res = await Obj.find('admin', 'type');
Cela fonctionne. Il renvoie soit null ou un objet.
Je Stub normalement cela comme si:
sandbox.stub(Obj.prototype, 'find', function() {
return Promise.resolve({ id: 123 });
});
Je voudrais qu'il bouchonner afin que les arguments soient pris en compte. J'ai lu http://sinonjs.org/docs/#stubs et il est censé ressembler à ce qui suit:
const stub = sinon.stub(Obj.prototype.find);
stub.withArgs('admin', 'type')
.returns(Promise.resolve({ id: 123 }));
stub.withArgs('user', 'type').returns(null);
Je reçois cependant l'erreur:
TypeError: Attempted to wrap undefined property undefined as function
at Object.wrapMethod (node_modules/sinon/lib/sinon/util/core.js:114:29)
at Object.stub (node_modules/sinon/lib/sinon/stub.js:67:26)
console.log(Obj.prototype.find);
résultats dans:
[Function: find]
Qu'est-ce que c'est à la ligne 67, colonne 26 de stub.js? – rasmeister