Я не могу заглушить функцию functionToStub
, когда я require
запишу ее в файле контроллера, для которого пишу тест мокко.
Вот пример того, чего я пытаюсь достичь
file1. js - файл контроллера
const functionUtil = require('./useFunc');
const newEndpoint = (req, res) => {
if(functionUtil.functionToStub()){
return "DID NOT STUB"
}
else{
return "DID STUB"
}
}
useFun c. 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()
});
});