babel-плагин-rewire получить счетчик вызовов - PullRequest
0 голосов
/ 30 апреля 2019

Используя jest, я могу получить подробную информацию о поддельных функциях, таких как (количество вызовов, аргументы, и т. Д.)

Мне пришлось использовать плагин 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');
  });
...