J'ai un monModule Module Node.js contenant :
function b() {
console.log('original b');
}
function a() {
b();
}
exports.a = a
exports.b = b;
Et la suite de tests suivante en utilisant mocha + sinon.js :
const myModule = require('./myModule.js');
const sinon = require('sinon');
const sinonChai = require('sinon-chai');
chai.use(sinonChai);
describe('not working stub', () => {
it('should call the stub', () => {
let stub = sinon.stub(myModule, 'b', () => { console.log('stubbed b')});
myModule.a();
expect(stub).to.have.been.called;
})
});
Je m'attends à ce que le stub soit appelé, mais le b original est appelé à la place, pourquoi ?