Флаг --watch
в Jest используется для запуска тестов, связанных с измененными файлами. Это особенно полезно во время разработки, так как автоматически перезапускает тесты при изменении файла, экономя время и усилия.
Как использовать флаг --watch
:
- Запуск Jest в режиме наблюдения: Добавьте флаг
--watch
к команде Jest:
jest --watch
Это запускает Jest в режиме наблюдения. Теперь, когда вы сохраняете изменения в файле, который имеет связанный тест, Jest автоматически перезапустит только этот тест.
- Ограничение запуска тестов: Если изменены несколько файлов, Jest запустит тесты, связанные со всеми этими файлами. Это работает наилучшим образом в системах контроля версий (SCM) типа Git или Mercurial, где Jest может определить, какие файлы были изменены с момента последнего коммита.
Пример использования:
Предположим, у вас есть следующая структура проекта:
/src
/components
MyComponent.js
MyComponent.test.js
/utils
myUtility.js
myUtility.test.js
Запуск Jest в режиме наблюдения:
jest --watch
Результат:
-
Когда вы изменяете
MyComponent.js
, Jest автоматически перезапустит тесты вMyComponent.test.js
. -
Когда вы изменяете
myUtility.js
, Jest автоматически перезапустит тесты вmyUtility.test.js
.
Дополнительные опции в режиме наблюдения:
В режиме наблюдения Jest предоставляет несколько дополнительных опций, которые можно выбрать, нажав соответствующую клавишу:
- a: Запустить все тесты.
- f: Запустить только непройденные тесты.
- p: Фильтровать тесты по имени файла.
- t: Фильтровать тесты по имени теста.
- q: Выйти из режима наблюдения.
Пример с фильтрацией по имени файла:
jest --watch
После запуска Jest в режиме наблюдения нажмите p
и введите имя файла, например MyComponent
, чтобы запустить только тесты, связанные с этим файлом.
Пример с фильтрацией по имени теста:
jest --watch
После запуска Jest в режиме наблюдения нажмите t
и введите имя теста, например adds 2 + 2 to equal 4
, чтобы запустить только этот тест.