babel-plugin-rewire获得模拟呼叫计数

时间:2019-04-29 22:52:12

标签: node.js unit-testing jestjs babel-plugin

使用笑话,我能够得到模拟的函数详细信息,例如(调用次数,参数,.. 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');
  });

0 个答案:

没有答案