Voglio testare un JS che usa una terza lib per recuperare i dati, quindi sto usando jest mock per quell'implementazione. Funziona quando lo chiamo direttamente nel test. Tuttavia, non funziona quando viene utilizzato nel codice sorgente.l'implementazione jest mock non funziona con require ('')
Ecco il codice
//Source implementation
var reference = require('./reference');
module.exports = {
getResult: function() {
return reference.result();
}
};
//Test code
jest.dontMock('./foo');
jest.dontMock('console');
describe('descirbe', function() {
var foo = require('./foo');
it('should ', function() {
var reference = require('./reference');
reference.result.mockImplementation(function (a, b, c) {
return '123'
});
console.log(foo.getResult()); // undefined
console.log(reference.result()); // 123
});
});