Jest CLI Options
Утилита командной строки jest
имеет ряд полезных опций. Вы можете выполнить команду jest --help
для просмотра всех доступных параметров. Многие из них могут использоваться совместно друг с другом для запуска тестов именно так, как вы хотите. Всем конфигурационным параметрам также соответствуют опции для командной строки.
Вот их краткий обзор:
Запуск из командной строки #
Запуск всех тестов (по умолчанию):
jest
Запустить только тесты по шаблону или по имени файла:
jest my-test #or
jest path/to/my-test.js
Выполнить тесты, связанные с измененными файлами, отраженными в hg/git (uncommitted файлы):
jest -o
Запуск тестов, относящихся к файлам path/to/fileA.js
и path/to/fileB.js
:
jest --findRelatedTests path/to/fileA.js path/to/fileB.js
Run tests that match this spec name (match against the name in describe
or test
, basically).
jest -t name-of-spec
Запуск в режиме отслеживания изменений:
jest --watch #runs jest -o by default jest --watchAll #runs all tests
Режим отслеживания изменений также позволяет указать имя или путь к файлу, чтобы сфокусироваться на выполнении определенного набора тестов.
Использование со скриптами npm #
Если Jest запускается через npm test
, по-прежнему можно использовать аргументы командной строки путем добавления --
между командой npm test
и аргументами Jest. Вместо:
jest -u -t="ColorPicker"
вы можете использовать:
npm test -- -u -t="ColorPicker"
Аргументы командной строки имеют приоритет над значениями из конфигурации.
Параметры #
Справка #
jest <regexForTestFiles>
#
При запуске Jest
с аргументом этот аргумент интерпретируется как регулярное выражение, сопоставляемое c файлами в вашем проекте. Это позволяет запустить наборы тестов, предоставляя шаблон. Будут выбраны и выполнены только те файлы, которые соответствуют шаблону. Примечание: в зависимости от вашего терминала, может потребоваться экранирование аргумента кавычками: jest "довольно.* (сложный)? шаблон"
.
--bail
#
Псевдоним: -b
. Завершает выполнение тестов сразу же после первого сбоя.
--cache
#
Нужно ли использовать кэш. По умолчанию используется значение true. Отключить использование кэша можно с помощью флага --no-cache
. Примечание: кэш следует отключать, только если вы испытываете связанные с ним трудности. В среднем, отключение кэша делает Jest по крайней мере в два раза медленнее.
If you want to inspect or clear the cache, use --showConfig
and look at the cacheDirectory
value.
--ci
#
При указании этой опции Jest будет считать, что выполняется в CI-среде. В этом случае меняется поведение при обнаружении новых тестов со снимками. Вместо того, чтобы автоматически сохранить новый снимок, Jest будет считать тест проваленным, если запущен без --updateSnapshot
.
--collectCoverageFrom=<glob>
#
Glob-шаблон относительно корневой папки, совпадающий с файлами, из которых нужно извлечь информацию о покрытии.
--colors
#
Принудительно включает подсветку вывода результатов тестирования, даже если stdout – не TTY.
--config=<path>
#
Псевдоним: -c
. Путь к файлу конфигурации Jest, указывающий, как находить и выполнять тесты. Если параметр rootDir
не задан в конфигурации, предполагается, что текущий каталог – корневой в проекте. Для задания данной опции может быть использовано JSON-значение, которое Jest будет использовать как конфигурацию.
--coverage
#
Указывает, что следует собирать и отображать информацию о тестовом покрытии.
--debug
#
Печатает отладочную информацию о вашей конфигурации Jest.
--env=<environment>
#
Тестовое окружение, используемое для всех тестов. Может указывать на любой node-модуль или файл. Примеры: jsdom
, node
или путь/к/окружению.js
.
--expand
#
Псевдоним: -e
. Используйте этот флаг, чтобы отображать полноценные diff и сообщения об ошибках вместо патчей.
--findRelatedTests <spaceSeparatedListOfSourceFiles>
#
Находит и запускает тесты, совпадающие со списком исходных файлов, переданных в качестве аргументов. Может быть полезно в pre-commit хуках системы контроля версий для запуска минимального необходимого множества тестов.
--forceExit
#
Вынуждает Jest закончить исполнение после того, как все тесты завершены. Полезно в случаях, когда ресурсы, созданные в целях тестирования, не могут быть освобождены надлежащим образом. Примечание: Данная опция – это, по сути, обходной механизм. Если Jest не заканчивает выполнение после того, как тесты завершились, это означает, что внешние ресурсы по-прежнему удерживаются или таймеры ожидают завершения. Настоятельно рекомендуется высвобождать внешние ресурсы после завершения каждого отдельного теста для того, чтобы Jest успешно мог завершить выполнение.
--help
#
Показать справку, схожую с данной страницей.
--json
#
Выводит результаты в формате JSON. В этом режиме весь вывод тестов и пользовательских сообщений будет направлен в stderr.
--outputFile=<filename>
#
Записывает результаты тестов в файл, если также указан флаг --json
.
--lastCommit
#
Выполнит все тесты, затрагиваемые изменениями файлов в последнем коммите.
--listTests
#
Выводит список всех тестов, которые Jest выполнит по заданным параметрам, и завершается. Можно использовать вместе с --findRelatedTests
, чтобы узнать, какие тесты запустит Jest.
--logHeapUsage
#
Заносит в журнал данные об использовании динамической области после каждого теста. Полезно для выявления утечек памяти. При запуске в Node используйте вместе с опциями --runInBand
и --expose-gc
.
--maxWorkers=<num>
#
Псевдоним: -w
. Задает максимальное количество рабочих потоков, выделяемое при выполнении тестов. По умолчанию задается равным количеству ядер, доступных на компьютере. Может быть полезно использовать данную опцию в средах с ограниченными ресурсами, такими как системы непрерывной интеграции. Значение по умолчанию для данной опции должно быть приемлемо для большинства остальных вариантов использования.
--noStackTrace
#
Отключает отображение трассирования стека при выводе результатов тестов.
--notify
#
Активирует уведомления для результатов тестирования. Хорошо, когда вы не хотите акцентировать все свое внимание на тестировании JavaScript.
--onlyChanged
#
Псевдоним: -o
. Предпринимает попытку определить какие тесты запускать основываясь на данных о том, какие файлы в текущем репозитории были изменены. Успешно срабатывает только если вы запускаете тесты в git/hg репозитории. Также требует наличия статического графа зависимостей (т. е. не динамические зависимости).
--projects <project1> ... <projectN>
#
Run tests from one or more projects.
--runInBand
#
Псевдоним: -i
. Последовательно выполняет все тесты в текущем процессе вместо создания пула дочерних рабочих процессов, которые выполняют тесты. Может быть полезно для отладки.
--setupTestFrameworkScriptFile=<file>
#
Путь к модулю, выполняющему настройку или запуск тестового фреймворка перед каждым тестом. Помните, что к файлам, импортируемым внутри этого модуля, во время выполнения тестов не будут применяться моки.
--showConfig
#
Выводит конфигурацию Jest и затем завершается.
--silent
#
Запрещает тестам вывод сообщений в консоль.
--testNamePattern=<regex>
#
Псевдоним: -t
. Запускает только те тесты, имя которых совпадает с регулярным выражением.
--testPathPattern=<regex>
#
Строка регулярного выражения, которая противопоставляется всем путям тестов перед выполнением.
--testRunner=<path>
#
Позволяет указать сторонний исполнитель тестов.
--updateSnapshot
#
Псевдоним: -u
. Используйте этот флаг, чтобы повторно сохранять каждый снимок, который проваливается при исполнении тестов. Может использоваться для повторного сохранения снимков вместе с шаблоном для набора тестов или с опцией --testNamePattern
.
--useStderr
#
Переадресует все выходные данные в stderr.
--verbose
#
Отображает результаты индивидуальных тестов в тестовой иерархии.
--version
#
Псевдоним: -v
. Печатает текущую версию и выходит.
--watch
#
Наблюдает за изменениями в файлах и перезапускает тесты связанные с измененными файлами. Если вместо этого необходимо перезапускать все тесты, используйте флаг --watchAll
.
--watchAll
#
Наблюдает за изменениями в файлах и перезапускает тесты, если что-то изменяется. Если необходимо перезапускать только тесты для измененных файлов, используйте флаг --watch
.
--watchman
#
Следует ли использовать watchman для обхода файлов. По умолчанию используется значение true. Возможно отключить используя --no-watchman
.