UnhandledPromiseRejectionWarning: TypeError: Произошла ошибка после разрушения среды тестирования - PullRequest
2 голосов
/ 05 марта 2020

Получить ошибку при неудачном выполнении теста в пост-запросе изображение для Ошибка при запуске теста

Использование Reactjs версия платформы 16

топор ios -выключения для запросов API

реагирование-тестирование-библиотека для теста

UnhandledPromiseRejectionWarning: TypeError: Произошла ошибка после теста среда была разрушена

Невозможно прочитать свойство 'nodeType' с нулевым значением (узел: 171) UnhandledPromiseRejectionWarning: необработанное отклонение обещания. Эта ошибка возникла либо из-за того, что внутри asyn c -функции не было блока catch, либо из-за отклонения обещания, которое не было обработано с помощью .catch (). (код отклонения: 4)

тестовый код

test('If user enters an invalid email or password', async () => {
  const { getByText, getByLabelText, getByTestId } = render(
    <Provider store={mockStore}>
      <Login />
    </Provider>
  )
  fireEvent.change(getByLabelText('Email'), {
    target: { value: 'test@emailing.com' }
  })
  fireEvent.change(getByLabelText('Password'), {
    target: { value: 'password' }
  })

  getByText('Sign in').click()
  await waitForDomChange()
  await act(async () => {
    try {
      await MockAxios.mockError({
        code: 400,
        data: {
          response: {
            data: {
              message: "This password is incorrect. Please re-enter your password."
            }
          }
        }

      })
    } catch (error) {
      console.log(error)
    }
  })
  await waitForDomChange()
  expect(MockAxios).toHaveBeenCalledTimes(1)
  await expect(getByTestId('error-msg')).toBeInTheDocument()
})

(код проверен) С помощью крюков ax ios создайте запрос, а затем отправьте ошибка в форме

 const [{ data, loading, error }, exec] = useAxios(
    {
      method: 'POST',
      url: 'oauth/token/',
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
    },
    { manual: true }
  )  

return (
    <>
      {(loading || userDataLoading) && <Loader />}
      <Form
        onSubmit={onSubmit}
        error={error}
      />
    </>
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...