【发布时间】:2017-11-09 17:12:59
【问题描述】:
我无法让嘲笑工作。如果我提供一个只是方法调用的模拟实现,它就可以工作。但是,如果我用模拟回调实现替换它,它就会停止工作。我做错了什么?
// Module.js
export default class Module {
static navigate(payload, callback) { ... }
}
// setupJest.js
jest.mock('../src/Module', () => ({
navigate: jest.fn(console.log('test')) // works great
navigate: jest.fn((payload, callback) => { callback() } ) // does NOT work
}));
【问题讨论】:
-
一种解决方法是将第一条语句 (
navigate: jest.fn(console.log('test'))) 保留在原处 (setupJest.js),然后将第二条语句移动到实际测试中,格式如下:Module.navigate = jest.fn((payload, callback) => callback());
标签: javascript callback mocking jestjs