Jest: Jest должен `process.exit(0|1)` после завершения тестов

Созданный на 3 мар. 2017  ·  3Комментарии  ·  Источник: facebook/jest


Вы хотите запросить функцию или сообщить об ошибке ?
особенность/ошибка

Каково текущее поведение?
Если библиотека ведет себя неправильно и не дает завершиться процессу, то процесс зависает на неопределенное время, хотя все тесты проходят. Можно утверждать, что эти библиотеки могут даже не вести себя неправильно, поскольку есть некоторые веские причины, по которым процесс не может завершиться естественным образом.

Если текущее поведение является ошибкой, предоставьте шаги для воспроизведения и либо демонстрацию repl.it через https://repl.it/languages/jest , либо минимальный репозиторий на GitHub, который мы можем yarn install и yarn test .

Каково ожидаемое поведение?
Jest выходит из процесса, когда все тесты завершены и Jest больше нечего тестировать.

Укажите точную конфигурацию Jest и укажите Jest, узел, версию yarn/npm и операционную систему.
Я не думаю, что это актуально, но вот:

  • шутка: v19.0.2
  • узел: v7.7.1
  • нпм: 4.1.2
  • пряжа: 0,21,3
  • ОС: Linux 4.10.1-gentoo #4 SMP PREEMPT, среда, 1 марта, 14:47:04 EST 2017 x86_64 Процессор Intel(R) Core(TM) i5-4300U @ 1,90 ГГц GenuineIntel GNU/Linux

Самый полезный комментарий

Ответ не решил проблему...

Все 3 Комментарий

Для этого и нужен --forceExit , но это аварийный люк. Если Jest не завершается, это означает, что вы не выполняете очистку должным образом после тестов (используйте afterAll ).

Ответ не решил проблему...

@cpojer - не могли бы вы пролить свет на то, почему это считается аварийным выходом, а не поведением по умолчанию?

Я ожидаю, что вызов Jest предназначен исключительно для запуска тестов. После того, как все тестовые блоки так или иначе разрешились, и каждый блок after* был обработан, каковы основания предполагать, что процессы, пережившие Jest, должны продолжать работать?

ИМО, они должны быть убиты по умолчанию. У нас есть after* для аккуратной очистки/выключения, если это необходимо, но я готов поспорить, что в большинстве случаев жесткий выход не вызовет никаких проблем.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги