我无法模拟一个简单的依赖生成器函数。
//generatorFunction.js
export default ()=>({execute: (arg1)=>Promise.resolve(arg1)})
//actualFunction.js
import generate from 'generatorFunction'
export default (arg1)=>generate(arg1)
//actualFunction.test.js
import actualFunction from './actualFunction'
import generatorFunction from './generatorFunction'
const resultingGeneratedFunction = generatorFunction();
jest.mock('generatorFunction', ()=>jest.fn(()=>({execute: ()=>Promise.resolve()})))
it('calls generateFunction', function(done){
actualFunction(1).then(()=>{
expect(resultingGeneratedFunction.execute).toHaveBeenCalledOnce()
done()
})
})
尽管当我在actualFunction 内部的控制台日志中看到调用了execute 时,从未调用过哪个错误作为execute。