Jest не выходил через секунду после завершения пробного запуска - PullRequest
0 голосов
/ 22 января 2019

При выполнении контрольного примера я получил следующую ошибку:

Jest не завершил свою работу через одну секунду после завершения контрольного запуска.Обычно это означает, что существуют асинхронные операции, которые не были остановлены в ваших тестах.Чтобы решить эту проблему, запустите Jest с --detectOpenHandles.

Я выполнил тестовый пример с --ForceExit и --detectOpenHandles.Но я не решил эту ошибку.

1 Ответ

0 голосов
/ 23 января 2019
test("Fetch Token ", async done => {
  await getToken("DEV", "myApp", token => {
    console.log("AuthToken: ", authToken);
    expect(authToken).toBeFalsy();
  });
  done();
});

2 возможных причины:

  • Ваш асинхронный запрос getToken использовал неправильную переменную, вместо authToken, это token.
test("Fetch Token ", async done => {
  await getToken("DEV", "myApp", token => {
    console.log("AuthToken: ", token);
    expect(token).toBeFalsy();
  });
  done();
});
  • Ваш асинхронный запрос занял слишком много времени для ответа, попробуйте увеличить время ожидания шута jest.setTimeout(5000)

предложение

При использовании асинхронногождать, вам не нужно использовать готово.

  • с async-await
test("Fetch Token ", async done => {
  const authToken = await getToken("DEV", "myApp", token => {
    return token;
  });
  console.log("AuthToken: ", authToken);
  expect(authToken).toBeFalsy();
  done();
});
  • без async-await
test("Fetch Token ", (done) => {
 getToken("DEV", "myApp", token => {
    console.log("AuthToken: ", token);
    expect(token).toBeFalsy();
    done();
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...