使用笑话,我能够得到模拟的函数详细信息,例如(调用次数,参数,.. etc等)
我不得不使用babel-plugin-rewire插件来模拟未导出的功能。有谁知道如何检查模拟函数的调用次数以及返回的结果。
这是导出的模块代码:
export default {
Notify(method, message) {
log('info', method, message);
},
Important(method, message) {
log('error', method, message);
},
}
我要模拟的未导出函数是log()。 这是测试
import logr from '.....'
it('should call info method', async () => {
logr.__Rewire__('log',('Important', 'test', 'test message')=>{
return { level, method, message };
});
await logr.info('test', 'this is test');
expect(logr.log.mock.calls.length).toBe(1); // What I want to check
expect(logr.log.mock.calls[0][0]).toBe('Important');//I want to check
logr.__ResetDependency__('log');
});