Интерфейс командной строки
Команды
vitest
Запускает Vitest в текущем каталоге. Автоматически переходит в режим отслеживания изменений (watch mode) в среде разработки и в режим выполнения (run mode) в CI-среде.
Можно передать дополнительный аргумент в качестве фильтра для запускаемых тестовых файлов. Например:
vitest foobar
Будут запущены только те тестовые файлы, в путях которых содержится foobar
. Этот фильтр проверяет только наличие подстроки и не поддерживает регулярные выражения или шаблоны glob (если только ваш терминал не обрабатывает их до того, как Vitest получит фильтр).
vitest run
Выполняет один запуск тестов без режима отслеживания изменений.
vitest watch
Запускает все наборы тестов, отслеживает изменения и перезапускает тесты при их обнаружении. Аналогично вызову vitest
без аргументов. В CI будет автоматически использоваться vitest run
.
vitest dev
Псевдоним для vitest watch
.
vitest related
Запускает только тесты, которые охватывают список исходных файлов. Поддерживает статические импорты, такие как import('./index.js')
или import index from './index.js
, но не динамические, например import(filepath)
. Все файлы должны быть указаны относительно корневой папки проекта.
Полезно использовать с lint-staged
или в вашей настройке CI.
vitest related /src/index.ts /src/hello-world.js
TIP
Помните, что Vitest по умолчанию запускается с включенным режимом отслеживания изменений. Если вы используете такие инструменты, как lint-staged
, вам также следует передать опцию --run
, чтобы команда могла нормально завершиться.
// .lintstagedrc.js
export default {
'*.{js,ts}': 'vitest related --run',
};
vitest bench
Запускает только бенчмарк-тесты, которые сравнивают результаты производительности.
vitest init
vitest init <name>
может использоваться для настройки конфигурации проекта. В данный момент он поддерживает только значение browser
:
vitest init browser
vitest list
Команда vitest list
наследует все опции vitest
для вывода списка всех соответствующих тестов. Эта команда не учитывает опцию reporters
. По умолчанию она выводит имена всех тестов, которые соответствуют фильтру файлов и шаблону имени:
vitest list filename.spec.ts -t="some-test"
describe > some-test
describe > some-test > test 1
describe > some-test > test 2
Вы можете использовать флаг --json
для вывода тестов в формате JSON или сохранения их в отдельный файл:
vitest list filename.spec.ts -t="some-test" --json=./file.json
Если флаг --json
не имеет значения, он выведет JSON в стандартный вывод (stdout).
Вы также можете использовать флаг --filesOnly
для вывода только тестовых файлов:
vitest list --filesOnly
tests/test1.test.ts
tests/test2.test.ts
Опции
TIP
Vitest поддерживает как camelCase
, так и kebab-case
для аргументов CLI. Например, --passWithNoTests
и --pass-with-no-tests
оба будут работать (--no-color
и --inspect-brk
являются исключениями).
Vitest также поддерживает различные способы задания значения: --reporter dot
и --reporter=dot
оба допустимы.
Если опция поддерживает массив значений, необходимо передать опцию несколько раз:
vitest --reporter=dot --reporter=default
Булевы опции могут быть инвертированы с помощью префикса no-
. Указание значения как false
также работает:
vitest --no-api
vitest --api=false
root
- CLI:
-r, --root <path>
- Config: root
Корневой путь проекта.
config
- CLI:
-c, --config <path>
Путь к файлу конфигурации.
update
- CLI:
-u, --update
- Config: update
Обновить моментальные снимки (snapshots).
watch
- CLI:
-w, --watch
- Config: watch
Включить режим отслеживания изменений (watch mode).
testNamePattern
- CLI:
-t, --testNamePattern <pattern>
- Config: testNamePattern
Запускать тесты, полные имена которых соответствуют указанному регулярному выражению.
dir
- CLI:
--dir <path>
- Config: dir
Базовый каталог для сканирования тестовых файлов.
ui
- CLI:
--ui
- Config: ui
Включить пользовательский интерфейс.
open
- CLI:
--open
- Config: open
Автоматически открывать пользовательский интерфейс (по умолчанию: !process.env.CI
).
api.port
- CLI:
--api.port [port]
Указать порт сервера. Обратите внимание, что если порт уже используется, Vite автоматически попытается использовать следующий доступный порт, поэтому это может быть не тот порт, на котором сервер в конечном итоге будет прослушивать. Если установлено в true
, будет использоваться порт 51204
.
api.host
- CLI:
--api.host [host]
Указать, какие IP-адреса должен прослушивать сервер. Установите значение 0.0.0.0
или true
, чтобы прослушивать все адреса, включая локальные и публичные.
api.strictPort
- CLI:
--api.strictPort
Установите значение true
, чтобы выйти, если порт уже занят, вместо автоматической попытки использовать следующий доступный порт.
silent
- CLI:
--silent
- Config: silent
Отключить вывод в консоль из тестов.
hideSkippedTests
- CLI:
--hideSkippedTests
Скрыть логи пропущенных тестов.
reporters
- CLI:
--reporter <name>
- Config: reporters
Указать репортеры.
outputFile
- CLI:
--outputFile <filename/-s>
- Config: outputFile
Записывать результаты тестов в файл, если также указан поддерживаемый репортер. Используйте точечную нотацию cac для индивидуального вывода нескольких репортеров (пример: --outputFile.tap=./tap.txt
).
coverage.all
- CLI:
--coverage.all
- Config: coverage.all
Включать ли в отчет все файлы, включая непротестированные.
coverage.provider
- CLI:
--coverage.provider <name>
- Config: coverage.provider
Выбрать инструмент для сбора покрытия кода. Доступные значения: "v8", "istanbul" и "custom".
coverage.enabled
- CLI:
--coverage.enabled
- Config: coverage.enabled
Включает сбор покрытия кода. Может быть переопределено с помощью опции CLI --coverage
(по умолчанию: false
).
coverage.include
- CLI:
--coverage.include <pattern>
- Config: coverage.include
Файлы, включенные в покрытие, в виде glob-шаблонов. Может быть указано несколько раз при использовании нескольких шаблонов (по умолчанию: **
).
coverage.exclude
- CLI:
--coverage.exclude <pattern>
- Config: coverage.exclude
Файлы, исключаемые из покрытия. Может быть указано несколько раз при использовании нескольких шаблонов (по умолчанию: см. coverage.exclude
).
coverage.extension
- CLI:
--coverage.extension <extension>
- Config: coverage.extension
Расширение, которое будет включено в покрытие. Может быть указано несколько раз при использовании нескольких расширений (по умолчанию: [".js", ".cjs", ".mjs", ".ts", ".mts", ".tsx", ".jsx", ".vue", ".svelte"]
).
coverage.clean
- CLI:
--coverage.clean
- Config: coverage.clean
Очищать результаты покрытия перед запуском тестов (по умолчанию: true
).
coverage.cleanOnRerun
- CLI:
--coverage.cleanOnRerun
- Config: coverage.cleanOnRerun
Очищать отчет о покрытии при повторном запуске в режиме отслеживания изменений (по умолчанию: true
).
coverage.reportsDirectory
- CLI:
--coverage.reportsDirectory <path>
- Config: coverage.reportsDirectory
Каталог для записи отчета о покрытии (по умолчанию: ./coverage
).
coverage.reporter
- CLI:
--coverage.reporter <name>
- Config: coverage.reporter
Репортеры покрытия для использования. Дополнительную информацию см. на coverage.reporter
(по умолчанию: ["text", "html", "clover", "json"]
).
coverage.reportOnFailure
- CLI:
--coverage.reportOnFailure
- Config: coverage.reportOnFailure
Генерировать отчет о покрытии, даже если тесты не пройдены (по умолчанию: false
).
coverage.allowExternal
- CLI:
--coverage.allowExternal
- Config: coverage.allowExternal
Собирать покрытие файлов вне корневого каталога проекта (по умолчанию: false
).
coverage.skipFull
- CLI:
--coverage.skipFull
- Config: coverage.skipFull
Не показывать файлы со 100% покрытием операторов, ветвей и функций (по умолчанию: false
).
coverage.thresholds.100
- CLI:
--coverage.thresholds.100
- Config: coverage.thresholds.100
Ярлык для установки всех порогов покрытия на 100% (по умолчанию: false
).
coverage.thresholds.perFile
- CLI:
--coverage.thresholds.perFile
- Config: coverage.thresholds.perFile
Проверять пороги для каждого файла. См. --coverage.thresholds.lines
, --coverage.thresholds.functions
, --coverage.thresholds.branches
и --coverage.thresholds.statements
для фактических порогов (по умолчанию: false
).
coverage.thresholds.autoUpdate
- CLI:
--coverage.thresholds.autoUpdate
- Config: coverage.thresholds.autoUpdate
Обновлять значения порогов: "lines", "functions", "branches" и "statements" в файле конфигурации, когда текущее покрытие выше настроенных порогов (по умолчанию: false
).
coverage.thresholds.lines
- CLI:
--coverage.thresholds.lines <number>
Порог для строк. Дополнительную информацию см. на istanbuljs. Эта опция недоступна для пользовательских поставщиков.
coverage.thresholds.functions
- CLI:
--coverage.thresholds.functions <number>
Порог для функций. Дополнительную информацию см. на istanbuljs. Эта опция недоступна для пользовательских поставщиков.
coverage.thresholds.branches
- CLI:
--coverage.thresholds.branches <number>
Порог для ветвей. Дополнительную информацию см. на istanbuljs. Эта опция недоступна для пользовательских поставщиков.
coverage.thresholds.statements
- CLI:
--coverage.thresholds.statements <number>
Порог для операторов. Дополнительную информацию см. на istanbuljs. Эта опция недоступна для пользовательских поставщиков.
coverage.ignoreClassMethods
- CLI:
--coverage.ignoreClassMethods <name>
- Config: coverage.ignoreClassMethods
Массив имен методов класса, которые следует игнорировать при покрытии. Дополнительную информацию см. на istanbuljs. Эта опция доступна только для поставщиков istanbul (по умолчанию: []
).
coverage.processingConcurrency
- CLI:
--coverage.processingConcurrency <number>
- Config: coverage.processingConcurrency
Лимит параллелизма, используемый при обработке результатов покрытия (по умолчанию: минимум из 20 и количества ЦП).
coverage.customProviderModule
- CLI:
--coverage.customProviderModule <path>
- Config: coverage.customProviderModule
Указывает имя модуля или путь к пользовательскому модулю поставщика покрытия. Дополнительную информацию см. на Custom Coverage Provider. Эта опция доступна только для пользовательских поставщиков.
coverage.watermarks.statements
- CLI:
--coverage.watermarks.statements <watermarks>
Высокие и низкие пороги для операторов в формате <high>,<low>
.
coverage.watermarks.lines
- CLI:
--coverage.watermarks.lines <watermarks>
Высокие и низкие пороги для строк в формате <high>,<low>
.
coverage.watermarks.branches
- CLI:
--coverage.watermarks.branches <watermarks>
Высокие и низкие пороги для ветвей в формате <high>,<low>
.
coverage.watermarks.functions
- CLI:
--coverage.watermarks.functions <watermarks>
Высокие и низкие пороги для функций в формате <high>,<low>
.
mode
- CLI:
--mode <name>
- Config: mode
Переопределить режим Vite (по умолчанию: test
или benchmark
).
workspace
- CLI:
--workspace <path>
- Config: workspace
Путь к файлу конфигурации рабочего пространства.
isolate
- CLI:
--isolate
- Config: isolate
Запускать каждый тестовый файл изолированно. Чтобы отключить изоляцию, используйте --no-isolate
(по умолчанию: true
).
globals
- CLI:
--globals
- Config: globals
Внедрять API глобально.
dom
- CLI:
--dom
Моделировать API браузера с помощью happy-dom.
browser.enabled
- CLI:
--browser.enabled
- Config: browser.enabled
Запускать тесты в браузере. Эквивалентно --browser
(по умолчанию: false
).
browser.name
- CLI:
--browser.name <name>
- Config: browser.name
Запускать все тесты в определенном браузере. Некоторые браузеры доступны только для определенных провайдеров (см. --browser.provider
). Дополнительную информацию см. на browser.name
.
browser.headless
- CLI:
--browser.headless
- Config: browser.headless
Запускать браузер в безголовом режиме (т.е. без открытия графического пользовательского интерфейса). Если Vitest запускается в CI, этот режим будет включен по умолчанию (по умолчанию: process.env.CI
).
browser.api.port
- CLI:
--browser.api.port [port]
- Config: browser.api.port
Указать порт сервера. Обратите внимание, что если порт уже используется, Vite автоматически попытается использовать следующий доступный порт, поэтому это может быть не тот порт, на котором сервер в конечном итоге будет прослушивать. Если установлено в true
, будет использоваться порт 63315
.
browser.api.host
- CLI:
--browser.api.host [host]
- Config: browser.api.host
Указать, какие IP-адреса должен прослушивать сервер. Установите значение 0.0.0.0
или true
, чтобы прослушивать все адреса, включая локальные и публичные.
browser.api.strictPort
- CLI:
--browser.api.strictPort
- Config: browser.api.strictPort
Установите значение true
, чтобы выйти, если порт уже занят, вместо автоматической попытки использовать следующий доступный порт.
browser.provider
- CLI:
--browser.provider <name>
- Config: browser.provider
Поставщик, используемый для запуска тестов в браузере. Некоторые браузеры доступны только для определенных поставщиков. Может быть "webdriverio", "playwright", "preview" или путь к пользовательскому поставщику. Дополнительную информацию см. на browser.provider
(по умолчанию: "preview"
).
browser.providerOptions
- CLI:
--browser.providerOptions <options>
- Config: browser.providerOptions
Опции, которые передаются поставщику браузера. Дополнительную информацию см. на browser.providerOptions
.
browser.isolate
- CLI:
--browser.isolate
- Config: browser.isolate
Запускать каждый файл браузерного теста изолированно. Чтобы отключить изоляцию, используйте --browser.isolate=false
(по умолчанию: true
).
browser.ui
- CLI:
--browser.ui
- Config: browser.ui
Показывать пользовательский интерфейс Vitest при запуске тестов (по умолчанию: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Config: browser.fileParallelism
Должны ли файлы браузерных тестов запускаться параллельно. Используйте --browser.fileParallelism=false
для отключения (по умолчанию: true
).
pool
- CLI:
--pool <pool>
- Config: pool
Указать пул, если тесты не запускаются в браузере (по умолчанию: threads
).
poolOptions.threads.isolate
- CLI:
--poolOptions.threads.isolate
- Config: poolOptions.threads.isolate
Изолировать тесты в пуле потоков (по умолчанию: true
).
poolOptions.threads.singleThread
- CLI:
--poolOptions.threads.singleThread
- Config: poolOptions.threads.singleThread
Запускать тесты в одном потоке (по умолчанию: false
).
poolOptions.threads.maxThreads
- CLI:
--poolOptions.threads.maxThreads <workers>
- Config: poolOptions.threads.maxThreads
Максимальное количество или процент потоков для запуска тестов.
poolOptions.threads.minThreads
- CLI:
--poolOptions.threads.minThreads <workers>
- Config: poolOptions.threads.minThreads
Минимальное количество или процент потоков для запуска тестов.
poolOptions.threads.useAtomics
- CLI:
--poolOptions.threads.useAtomics
- Config: poolOptions.threads.useAtomics
Использовать Atomics для синхронизации потоков. Это может улучшить производительность в некоторых случаях, но может вызвать segfault в старых версиях Node (по умолчанию: false
).
poolOptions.vmThreads.isolate
- CLI:
--poolOptions.vmThreads.isolate
- Config: poolOptions.vmThreads.isolate
Изолировать тесты в пуле потоков VM (по умолчанию: true
).
poolOptions.vmThreads.singleThread
- CLI:
--poolOptions.vmThreads.singleThread
- Config: poolOptions.vmThreads.singleThread
Запускать тесты в одном потоке (по умолчанию: false
).
poolOptions.vmThreads.maxThreads
- CLI:
--poolOptions.vmThreads.maxThreads <workers>
- Config: poolOptions.vmThreads.maxThreads
Максимальное количество или процент потоков для запуска тестов.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <workers>
- Config: poolOptions.vmThreads.minThreads
Минимальное количество или процент потоков для запуска тестов.
poolOptions.vmThreads.useAtomics
- CLI:
--poolOptions.vmThreads.useAtomics
- Config: poolOptions.vmThreads.useAtomics
Использовать Atomics для синхронизации потоков. Это может улучшить производительность в некоторых случаях, но может вызвать segfault в старых версиях Node (по умолчанию: false
).
poolOptions.vmThreads.memoryLimit
- CLI:
--poolOptions.vmThreads.memoryLimit <limit>
- Config: poolOptions.vmThreads.memoryLimit
Лимит памяти для пула потоков VM. Если наблюдаются утечки памяти, попробуйте скорректировать это значение.
poolOptions.forks.isolate
- CLI:
--poolOptions.forks.isolate
- Config: poolOptions.forks.isolate
Изолировать тесты в пуле форков (по умолчанию: true
).
poolOptions.forks.singleFork
- CLI:
--poolOptions.forks.singleFork
- Config: poolOptions.forks.singleFork
Запускать тесты в одном дочернем процессе (по умолчанию: false
).
poolOptions.forks.maxForks
- CLI:
--poolOptions.forks.maxForks <workers>
- Config: poolOptions.forks.maxForks
Максимальное количество или процент процессов для запуска тестов.
poolOptions.forks.minForks
- CLI:
--poolOptions.forks.minForks <workers>
- Config: poolOptions.forks.minForks
Минимальное количество или процент процессов для запуска тестов.
poolOptions.vmForks.isolate
- CLI:
--poolOptions.vmForks.isolate
- Config: poolOptions.vmForks.isolate
Изолировать тесты в пуле форков VM (по умолчанию: true
).
poolOptions.vmForks.singleFork
- CLI:
--poolOptions.vmForks.singleFork
- Config: poolOptions.vmForks.singleFork
Запускать тесты в одном дочернем процессе (по умолчанию: false
).
poolOptions.vmForks.maxForks
- CLI:
--poolOptions.vmForks.maxForks <workers>
- Config: poolOptions.vmForks.maxForks
Максимальное количество или процент процессов для запуска тестов.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <workers>
- Config: poolOptions.vmForks.minForks
Минимальное количество или процент процессов для запуска тестов.
poolOptions.vmForks.memoryLimit
- CLI:
--poolOptions.vmForks.memoryLimit <limit>
- Config: poolOptions.vmForks.memoryLimit
Лимит памяти для пула форков VM. Если наблюдаются утечки памяти, попробуйте скорректировать это значение.
fileParallelism
- CLI:
--fileParallelism
- Config: fileParallelism
Должны ли все тестовые файлы запускаться параллельно. Используйте --no-file-parallelism
для отключения этой опции (по умолчанию: true
).
maxWorkers
- CLI:
--maxWorkers <workers>
- Config: maxWorkers
Максимальное количество или процент воркеров для запуска тестов.
minWorkers
- CLI:
--minWorkers <workers>
- Config: minWorkers
Минимальное количество или процент воркеров для запуска тестов.
environment
- CLI:
--environment <name>
- Config: environment
Указать среду выполнения, если тесты не запускаются в браузере (по умолчанию: node
).
passWithNoTests
- CLI:
--passWithNoTests
- Config: passWithNoTests
Считать успешным, если тесты не найдены.
logHeapUsage
- CLI:
--logHeapUsage
- Config: logHeapUsage
Показывать размер кучи для каждого теста при запуске в Node.js.
allowOnly
- CLI:
--allowOnly
- Config: allowOnly
Разрешить тесты и наборы, помеченные как "only" (по умолчанию: !process.env.CI
).
dangerouslyIgnoreUnhandledErrors
- CLI:
--dangerouslyIgnoreUnhandledErrors
- Config: dangerouslyIgnoreUnhandledErrors
Игнорировать любые необработанные ошибки.
sequence.shuffle.files
- CLI:
--sequence.shuffle.files
- Config: sequence.shuffle.files
Запускать файлы в случайном порядке. Длительные тесты не начнутся раньше, если вы включите эту опцию (по умолчанию: false
).
sequence.shuffle.tests
- CLI:
--sequence.shuffle.tests
- Config: sequence.shuffle.tests
Запускать тесты в случайном порядке (по умолчанию: false
).
sequence.concurrent
- CLI:
--sequence.concurrent
- Config: sequence.concurrent
Запускать тесты параллельно (по умолчанию: false
).
sequence.seed
- CLI:
--sequence.seed <seed>
- Config: sequence.seed
Установить начальное значение для рандомизации. Эта опция не будет иметь эффекта, если --sequence.shuffle
имеет ложное значение. Дополнительную информацию см. на странице "Random Seed".
sequence.hooks
- CLI:
--sequence.hooks <order>
- Config: sequence.hooks
Изменяет порядок выполнения хуков. Принимаемые значения: "stack", "list" и "parallel". Дополнительную информацию см. на sequence.hooks
(по умолчанию: "parallel"
).
sequence.setupFiles
- CLI:
--sequence.setupFiles <order>
- Config: sequence.setupFiles
Изменяет порядок выполнения файлов настройки. Принимаемые значения: "list" и "parallel". Если установлено "list", файлы настройки будут запускаться в порядке их определения. Если установлено "parallel", файлы настройки будут запускаться параллельно (по умолчанию: "parallel"
).
inspect
- CLI:
--inspect [[host:]port]
- Config: inspect
Включить инспектор Node.js (по умолчанию: 127.0.0.1:9229
).
inspectBrk
- CLI:
--inspectBrk [[host:]port]
- Config: inspectBrk
Включить инспектор Node.js и приостановить выполнение перед началом теста.
testTimeout
- CLI:
--testTimeout <timeout>
- Config: testTimeout
Таймаут по умолчанию для теста в миллисекундах (по умолчанию: 5000
).
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
Таймаут по умолчанию для хука в миллисекундах (по умолчанию: 10000
).
bail
- CLI:
--bail <number>
- Config: bail
Остановить выполнение тестов, когда заданное количество тестов завершится неудачей (по умолчанию: 0
).
retry
- CLI:
--retry <times>
- Config: retry
Повторить тест указанное количество раз, если он не пройден (по умолчанию: 0
).
diff
- CLI:
--diff <path>
- Config: diff
Путь к конфигурации diff, которая будет использоваться для генерации интерфейса diff.
exclude
- CLI:
--exclude <glob>
- Config: exclude
Дополнительные glob-шаблоны файлов, которые будут исключены из тестирования.
expandSnapshotDiff
- CLI:
--expandSnapshotDiff
- Config: expandSnapshotDiff
Показывать полный diff при неудачном создании моментального снимка.
disableConsoleIntercept
- CLI:
--disableConsoleIntercept
- Config: disableConsoleIntercept
Отключить автоматический перехват вывода консоли (по умолчанию: false
).
typecheck.enabled
- CLI:
--typecheck.enabled
- Config: typecheck.enabled
Включить проверку типов вместе с тестами (по умолчанию: false
).
typecheck.only
- CLI:
--typecheck.only
- Config: typecheck.only
Запускать только тесты проверки типов. Это автоматически включает проверку типов (по умолчанию: false
).
typecheck.checker
- CLI:
--typecheck.checker <name>
- Config: typecheck.checker
Указать средство проверки типов для использования. Доступные значения: "tsc", "vue-tsc", а также путь к исполняемому файлу (по умолчанию: "tsc"
).
typecheck.allowJs
- CLI:
--typecheck.allowJs
- Config: typecheck.allowJs
Разрешить проверку типов файлов JavaScript. По умолчанию значение берется из tsconfig.json.
typecheck.ignoreSourceErrors
- CLI:
--typecheck.ignoreSourceErrors
- Config: typecheck.ignoreSourceErrors
Игнорировать ошибки типов в исходных файлах.
typecheck.tsconfig
- CLI:
--typecheck.tsconfig <path>
- Config: typecheck.tsconfig
Путь к пользовательскому файлу tsconfig.
project
- CLI:
--project <name>
- Config: project
Имя проекта для запуска, если вы используете функцию рабочего пространства Vitest. Эту опцию можно повторять для нескольких проектов: --project=1 --project=2
. Вы также можете фильтровать проекты с помощью подстановочных знаков, таких как --project=packages*
.
slowTestThreshold
- CLI:
--slowTestThreshold <threshold>
- Config: slowTestThreshold
Порог в миллисекундах, при превышении которого тест считается медленным (по умолчанию: 300
).
teardownTimeout
- CLI:
--teardownTimeout <timeout>
- Config: teardownTimeout
Таймаут по умолчанию для функции teardown в миллисекундах (по умолчанию: 10000
).
maxConcurrency
- CLI:
--maxConcurrency <number>
- Config: maxConcurrency
Максимальное количество параллельных тестов в наборе (по умолчанию: 5
).
expect.requireAssertions
- CLI:
--expect.requireAssertions
- Config: expect.requireAssertions
Требовать, чтобы все тесты содержали хотя бы одно утверждение.
expect.poll.interval
- CLI:
--expect.poll.interval <interval>
- Config: expect.poll.interval
Интервал опроса в миллисекундах для утверждений expect.poll()
(по умолчанию: 50
).
expect.poll.timeout
- CLI:
--expect.poll.timeout <timeout>
- Config: expect.poll.timeout
Таймаут опроса в миллисекундах для утверждений expect.poll()
(по умолчанию: 1000
).
printConsoleTrace
- CLI:
--printConsoleTrace
- Config: printConsoleTrace
Всегда выводить трассировку стека в консоль.
run
- CLI:
--run
Отключить режим отслеживания изменений.
color
- CLI:
--no-color
Удаляет цвета из вывода в консоль.
clearScreen
- CLI:
--clearScreen
Очищать экран терминала при повторном запуске тестов в режиме отслеживания изменений (по умолчанию: true
).
standalone
- CLI:
--standalone
Запустить Vitest без выполнения тестов. Файловые фильтры будут игнорироваться, тесты будут запускаться только при изменении файлов (по умолчанию: false
).
changed
- Тип:
boolean | string
- По умолчанию: false
Запускает тесты только для измененных файлов. Если значение не указано, будут запущены тесты для незафиксированных изменений (включая индексированные (staged
) и неиндексированные (unstaged
)).
Чтобы запустить тесты по изменениям, внесенным в последнем коммите, вы можете использовать --changed HEAD~1
. Вы также можете указать хеш коммита (например, --changed 09a9920
) или имя ветки (например, --changed origin/develop
).
При использовании с покрытием кода отчет будет содержать только файлы, относящиеся к изменениям.
При использовании в паре с опцией конфигурации forceRerunTriggers
будет запущен весь набор тестов, если изменится хотя бы один из файлов, перечисленных в списке forceRerunTriggers
. По умолчанию изменения в файле конфигурации Vitest и package.json
всегда перезапускают весь набор.
shard
- Тип:
string
- По умолчанию: disabled
Шардирует набор тестов для выполнения в формате <index>
/<count>
, где:
count
— положительное целое число, общее количество частей.index
— положительное целое число, индекс текущей части (начиная с 1).
Эта команда разделит все тесты на count
равных частей и запустит только те, которые относятся к части index
. Например, чтобы разделить ваш набор тестов на три части, используйте следующее:
vitest run --shard=1/3
vitest run --shard=2/3
vitest run --shard=3/3
WARNING
Вы не можете использовать эту опцию с включенным --watch
(который включен по умолчанию в режиме разработки).
TIP
Если --reporter=blob
используется без выходного файла, путь по умолчанию будет включать текущую конфигурацию шардирования, чтобы избежать конфликтов с другими процессами Vitest.
merge-reports
- Тип:
boolean | string
Объединяет все отчеты в формате blob, расположенные в указанной папке (по умолчанию .vitest-reports
). Вы можете использовать любые репортеры с этой командой (за исключением blob
):
vitest --merge-reports --reporter=junit