我想用玩笑来模拟内部函数的实现。有人可以帮忙吗?
现在结果是内部的,但我要模拟。
----------------- index.js -----------------
let mainFn = ()=>{
return innerFn();
}
let innerFn = ()=>{
return 'inner';
}
module.exports = {mainFn, innerFn};
------------------- index.test.js -----------------
let index = require('./index.js');
test('test', () => {
index.innerFn = jest.fn().mockImplementation(()=>{return 'mock'});
let result = index.mainFn();
expect(result).toBe('mock');
})
答案 0 :(得分:0)
我认为您应该将内部函数提取到单独的文件(模块)中。然后,您可以轻松模拟它:
jest.mock('./innerFn.js')
或例如:
jest.mock('./innerFn.js', () => 'mock')