2016-09-27 2 views
12

Обновление: мой вариант использования - это, прежде всего, запуск тестов в CI, но переопределение параметров CRA Jest по умолчанию - это то, о чем я, как правило, задаюсь.Запуск CRA Jest в неинтерактивном режиме


Я бегу тестов с использованием Jest, конфигурации, поставляемой вместе с Create React App. Он всегда запускается в интерактивный режим:

› Press a to run all tests. 
› Press o to only run tests related to changed files. 
› Press p to filter by a filename regex pattern. 
› Press q to quit watch mode. 
› Press Enter to trigger a test run. 

Но я не хочу, чтобы он дождался ввода. Я хочу, чтобы он запускался один раз, а затем завершался. Я попытался использовать переключатели --bail или --no-watchman, но он по-прежнему запускается в интерактивном режиме.

Если я глобально устанавливаю jest и запускаю его в корне моего проекта, он выполняется один раз и заканчивается (как я хочу). Но когда я запускаю npm test, который работает react-scripts test, он переходит в режим просмотра, даже если я не прохожу --watch.

Обновление: я также зарегистрировал выпуск на CRA.

ответ

14

CRA ищет переменную окружения CI, если ее настоящее не работает в режиме просмотра.

CI=true npm test должны делать то, что вы ищете

Это документально в Continuous Integration разделе Readme.

+0

Вы можете увидеть, как это делается [здесь] (https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/scripts/test.js#L25) – wgcrouch

+0

да , в этом вопросе нет более простого способа: https://github.com/facebookincubator/create-react-app/issues/784 – AlexStack

Смежные вопросы