Я не могу заглушить функцию functionToStub
, когда я require
в файле контроллера, для которого я пишу тест мокко.
Вот пример того, чего я пытаюсь достичь
file1.js -- файл контроллера
const functionUtil = require('./useFunc');
const newEndpoint = (req, res) => {
if(functionUtil.functionToStub()){
return "DID NOT STUB"
}
else{
return "DID STUB"
}
}
useFunc.js
var functions = {
functionToStub: functionToStub
}
function functionToStub (){
return true
}
module.exports = functions;
мокко.js
const featureUtil = require('/useFunc')
describe('When I call endpoint to stub', (done) => {
var newStub;
before(function(done) {
newStub = sinon.stub(featureUtil, 'functionToStub')
newStub.returns(false)
chai.request(app.start())
.post(`/api/testMyStub`)
.send({'test':'testBody'})
.end((err, res) => {
console.log(res.body) // Expecting DID STUB to print here but the stub doesn't work, prints DID NOT STUB
done();
});
});
after(function(done) {
newStub.restore();
done();
})
it('should send an request', (done) => {
expect(newStub).to.have.been.calledOnce
done()
});
});