→ sinonjs.org
Les spies sont des fonctions particulières qui enregistrent différents détails sur comment elles sont appelées, avec quels arguments, et l'état de l'objet this qui est associé à chaque fonction.
On peut utiliser des spies en lieu et place de vraies fonctions. Ils nous permettent de nous assurer qu'une fonction spécifique a été appelée, sans avoir à invoquer une fonction réelle.
npm install sinon –save-dev
// order-specs.js
(...)
var sinon = require("sinon");
(...)
beforeEach(function() {
(...)
this.console = {
log: sinon.spy()
};
order.__set__("inventoryData", this.testData);
order.__set__("console", this.console);
(...)
it("order (...)", function(done) {
var _this = this;
order.orderItem("CCC", 3, function() {
expect(__this.console.log.callCount).to.equal(2);
done();
});
});
(...)