UnhandledPromiseRejectionWarning при тестировании компонента React с помощью Jest - PullRequest
0 голосов
/ 06 марта 2020

Итак, я хочу протестировать свой Login компонент с помощью библиотеки Jest и React Testing.
Тесты пройдены, но я получаю:

"UnhandledPromiseRejectionWarning".

Как мне избавиться от этого сообщения?

Это функция, которую я высмеиваю в верхней части тестового файла:

jest.mock('../../../api/endpoints/auth/login/login', () => {
  return {
    login: jest.fn()
  };
});

И это использование функции непосредственно в тесте:

(login as jest.Mock).mockResolvedValueOnce(() => ({
  messages: ["Password is not correct"],
  isError: true
}));
act(() => {
  fireEvent.click(submitButton, leftClick);
});

await wait(() => {
  expect(getByTextLogin("Password is not correct")).toBeInTheDocument();
  expect(window.location.href).toContain('/login');
});

Может быть, я что-то упускаю при насмешке над асин c функцией?

1 Ответ

0 голосов
/ 06 марта 2020

Пожалуйста, укажите код вопроса, а не картинки.

Вы не обрабатываете случай отказа от обещания при использовании async / await. Оберните ваше ожидание в попытку / поймать.

Вот ссылка на документацию Jest, подчеркивающую это: Jest Asyn c

...