Jest: проверьте, сколько раз была вызвана функция модуля - PullRequest
0 голосов
/ 19 октября 2018

Я использую модуль Waait в своем коде, чтобы позволить мне делать такие вещи, как:

import * as wait from 'waait';
await wait(500);

Я создал ручной макет:

module.exports = (() => {
  return Promise.resolve();
});

Затем я хочу иметьподобные утверждения в моем тесте:

import * as wait from 'waait';
expect(wait).toHaveBeenCalledTimes(1);
expect(wait).toHaveBeenLastCalledWith(1000);

Когда я запускаю это, я получаю:

expect(jest.fn())[.not].toHaveBeenCalledTimes()

jest.fn() value must be a mock function or spy.
Received: undefined

1 Ответ

0 голосов
/ 19 октября 2018

Созданный вами ручной макет - это вовсе не макет , а фальшивка (т.е. альтернативная реализация).

Он вам даже не нужен,Вы можете удалить ручной макет и написать свой тест следующим образом:

import * as wait from 'waait';

jest.mock('waait');
wait.mockResolvedValue(undefined);

it('does something', () => {
    // run the tested code here
    // ...

    // check the results against the expectations
    expect(wait).toHaveBeenCalledTimes(1);
    expect(wait).toHaveBeenLastCalledWith(1000);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...