Интерфейс командной строки
Команды
vitest
Запускает Vitest в текущем каталоге. Автоматически переходит в режим наблюдения в среде разработки и в режим выполнения в CI (или неинтерактивном терминале).
Вы можете передать дополнительный аргумент в качестве фильтра для запускаемых тестовых файлов. Например:
vitest foobar
Будут запущены только те тестовые файлы, пути которых содержат foobar
. Этот фильтр проверяет только включение и не поддерживает регулярные выражения или шаблоны glob (если ваш терминал обрабатывает их до того, как Vitest получит фильтр).
Начиная с Vitest 3, вы также можете указать тест по имени файла и номеру строки:
$ vitest basic/foo.test.ts:10
WARNING
Обратите внимание, что для корректной работы этой функции Vitest требует полного имени файла. Оно может быть относительным к текущей рабочей директории или абсолютным путем к файлу.
$ vitest basic/foo.js:10 # ✅
$ vitest ./basic/foo.js:10 # ✅
$ vitest /users/project/basic/foo.js:10 # ✅
$ vitest foo:10 # ❌
$ vitest ./basic/foo:10 # ❌
На данный момент Vitest также не поддерживает диапазоны:
$ vitest basic/foo.test.ts:10, basic/foo.test.ts:25 # ✅
$ vitest basic/foo.test.ts:10-25 # ❌
vitest run
Выполняет один запуск без режима наблюдения.
vitest watch
Запускает все наборы тестов, но наблюдает за изменениями и перезапускает тесты при их изменении. То же самое, что вызов vitest
без аргумента. В CI или при неинтерактивном терминале (когда stdin не является TTY) будет автоматически использоваться 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
, чтобы команда могла нормально завершиться.
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
Обновить моментальный снимок (snapshot).
watch
- CLI:
-w, --watch
- Config: watch
Включить режим наблюдения за изменениями файлов.
testNamePattern
- CLI:
-t, --testNamePattern <pattern>
- Config: testNamePattern
Запускать только те тесты, имена которых полностью соответствуют указанному регулярному выражению.
dir
- CLI:
--dir <path>
- Config: dir
Базовый каталог для сканирования тестовых файлов.
ui
- CLI:
--ui
- Config: ui
Включить пользовательский интерфейс Vitest.
open
- CLI:
--open
- Config: open
Автоматически открывать пользовательский интерфейс (по умолчанию: !process.env.CI
).
api.port
- CLI:
--api.port [port]
Указать порт сервера API. Обратите внимание: если порт уже используется, Vite автоматически попытается использовать следующий доступный порт, поэтому это может быть не тот порт, на котором сервер в конечном итоге будет работать. При значении true
будет установлено значение 51204
.
api.host
- CLI:
--api.host [host]
Укажите, на каких IP-адресах сервер API должен принимать соединения. Установите 0.0.0.0
или true
, чтобы принимать соединения на всех адресах, включая локальные и публичные.
api.strictPort
- CLI:
--api.strictPort
Установите значение true
, чтобы выйти, если порт уже используется, вместо автоматической попытки использовать следующий доступный порт.
silent
- CLI:
--silent [value]
- Config: silent
Тихий вывод консоли из тестов. Используйте 'passed-only'
, чтобы видеть логи только от провалившихся тестов.
hideSkippedTests
- CLI:
--hideSkippedTests
Скрыть логи для пропущенных тестов.
reporters
- CLI:
--reporter <name>
- Config: reporters
Указать репортеры (default, basic, blob, verbose, dot, json, tap, tap-flat, junit, hanging-process, github-actions).
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%.
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 Vitest глобально.
dom
- CLI:
--dom
Имитировать API браузера с помощью happy-dom.
browser.enabled
- CLI:
--browser.enabled
- Config: browser.enabled
Запускать тесты в браузере (по умолчанию: 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
Указать порт сервера API браузера. Обратите внимание: если порт уже используется, Vite автоматически попытается использовать следующий доступный порт, поэтому это может быть не тот порт, на котором сервер в конечном итоге будет работать. При значении true
будет установлено значение 63315
.
browser.api.host
- CLI:
--browser.api.host [host]
- Config: browser.api.host
Укажите, на каких IP-адресах сервер API браузера должен принимать соединения. Установите 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 UI при запуске тестов (по умолчанию: !process.env.CI
).
browser.fileParallelism
- CLI:
--browser.fileParallelism
- Config: browser.fileParallelism
Запускать ли файлы браузерных тестов параллельно. Используйте --browser.fileParallelism=false
для отключения (по умолчанию: true
).
browser.connectTimeout
- CLI:
--browser.connectTimeout <timeout>
- Config: browser.connectTimeout
Если подключение к браузеру превышает установленное время, набор тестов завершится с ошибкой (по умолчанию: 60_000
).
pool
- CLI:
--pool <pool>
- Config: pool
Указать пул, если тесты не запускаются в браузере (по умолчанию: forks
).
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
Запускать тесты в одном потоке VM (по умолчанию: false
).
poolOptions.vmThreads.maxThreads
- CLI:
--poolOptions.vmThreads.maxThreads <workers>
- Config: poolOptions.vmThreads.maxThreads
Максимальное количество или процент потоков VM для запуска тестов.
poolOptions.vmThreads.minThreads
- CLI:
--poolOptions.vmThreads.minThreads <workers>
- Config: poolOptions.vmThreads.minThreads
Минимальное количество или процент потоков VM для запуска тестов.
poolOptions.vmThreads.useAtomics
- CLI:
--poolOptions.vmThreads.useAtomics
- Config: poolOptions.vmThreads.useAtomics
Использовать Atomics для синхронизации потоков VM. Это может улучшить производительность в некоторых случаях, но может вызвать 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
Запускать тесты в одном дочернем процессе VM (по умолчанию: false
).
poolOptions.vmForks.maxForks
- CLI:
--poolOptions.vmForks.maxForks <workers>
- Config: poolOptions.vmForks.maxForks
Максимальное количество или процент процессов VM для запуска тестов.
poolOptions.vmForks.minForks
- CLI:
--poolOptions.vmForks.minForks <workers>
- Config: poolOptions.vmForks.minForks
Минимальное количество или процент процессов VM для запуска тестов.
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
). Используйте 0
для полного отключения тайм-аута.
hookTimeout
- CLI:
--hookTimeout <timeout>
- Config: hookTimeout
Тайм-аут по умолчанию для хука в миллисекундах (по умолчанию: 10000
). Используйте 0
для полного отключения тайм-аута.
bail
- CLI:
--bail <number>
- Config: bail
Остановить выполнение тестов, когда заданное количество тестов провалилось (по умолчанию: 0
).
retry
- CLI:
--retry <times>
- Config: retry
Повторить тест указанное количество раз, если он провалился (по умолчанию: 0
).
diff.aAnnotation
- CLI:
--diff.aAnnotation <annotation>
- Config: diff.aAnnotation
Аннотация для ожидаемых строк (по умолчанию: Ожидаемые
).
diff.aIndicator
- CLI:
--diff.aIndicator <indicator>
- Config: diff.aIndicator
Индикатор для ожидаемых строк (по умолчанию: -
).
diff.bAnnotation
- CLI:
--diff.bAnnotation <annotation>
- Config: diff.bAnnotation
Аннотация для полученных строк (по умолчанию: Полученные
).
diff.bIndicator
- CLI:
--diff.bIndicator <indicator>
- Config: diff.bIndicator
Индикатор для полученных строк (по умолчанию: +
).
diff.commonIndicator
- CLI:
--diff.commonIndicator <indicator>
- Config: diff.commonIndicator
Индикатор для общих строк (по умолчанию: ).
diff.contextLines
- CLI:
--diff.contextLines <lines>
- Config: diff.contextLines
Количество строк контекста для отображения вокруг каждого изменения (по умолчанию: 5
).
diff.emptyFirstOrLastLinePlaceholder
- CLI:
--diff.emptyFirstOrLastLinePlaceholder <placeholder>
- Config: diff.emptyFirstOrLastLinePlaceholder
Плейсхолдер для пустой первой или последней строки (по умолчанию: ""
).
diff.expand
- CLI:
--diff.expand
- Config: diff.expand
Развернуть все общие строки (по умолчанию: true
).
diff.includeChangeCounts
- CLI:
--diff.includeChangeCounts
- Config: diff.includeChangeCounts
Включать счетчики изменений в вывод diff (по умолчанию: false
).
diff.omitAnnotationLines
- CLI:
--diff.omitAnnotationLines
- Config: diff.omitAnnotationLines
Исключать строки аннотаций из вывода (по умолчанию: false
).
diff.printBasicPrototype
- CLI:
--diff.printBasicPrototype
- Config: diff.printBasicPrototype
Печатать базовые прототипы объектов и массивов (по умолчанию: true
).
diff.maxDepth
- CLI:
--diff.maxDepth <maxDepth>
- Config: diff.maxDepth
Ограничивает глубину рекурсии при печати вложенных объектов (по умолчанию: 20
).
diff.truncateThreshold
- CLI:
--diff.truncateThreshold <threshold>
- Config: diff.truncateThreshold
Число строк для отображения до и после каждого изменения (по умолчанию: 0
).
diff.truncateAnnotation
- CLI:
--diff.truncateAnnotation <annotation>
- Config: diff.truncateAnnotation
Аннотация для усеченных строк (по умолчанию: ... Результат сравнения усечен
).
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.
typecheck.spawnTimeout
- CLI:
--typecheck.spawnTimeout <time>
- Config: typecheck.spawnTimeout
Минимальное время в миллисекундах для запуска инструмента проверки типов.
project
- CLI:
--project <name>
- Config: project
Имя проекта для запуска, если вы используете возможность рабочих пространств Vitest. Эту опцию можно повторять для нескольких проектов: --project=1 --project=2
. Вы также можете фильтровать проекты с использованием подстановочных знаков, таких как --project=packages*
, и исключать проекты с --project=!pattern
.
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
Всегда выводить трассировку стека в консоль.
includeTaskLocation
- CLI:
--includeTaskLocation
- Config: includeTaskLocation
Собирает местоположения тестов и наборов в свойстве location
.
attachmentsDir
- CLI:
--attachmentsDir <dir>
- Config: attachmentsDir
Каталог, в котором хранятся файлы вложений из context.annotate
(по умолчанию: .vitest-attachments
).
run
- CLI:
--run
Отключить режим наблюдения.
color
- CLI:
--no-color
Удаляет цвета из вывода консоли.
clearScreen
- CLI:
--clearScreen
Очищать экран терминала при повторном запуске тестов в режиме наблюдения (по умолчанию: true
).
configLoader
- CLI:
--configLoader <loader>
Использовать bundle
для объединения конфигурации с esbuild или runner
(экспериментально) для обработки на лету. Это доступно только в Vite версии 6.1.0 и выше (по умолчанию: bundle
).
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
— положительное целое число, индекс части
Эта команда разделит все тесты на 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