我想测试一个使用第三方库获取数据的JS,因此我正在使用jest模拟该实现。当我在测试中直接调用它时它是有效的。但是,当它在源代码中使用时却无效。
以下是代码
//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
});
});