→ 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(); }); }); (...)