Skip to content
Vitest 3
Main Navigation Руководство & APIКонфигурацияРежим браузераРасширенный API
3.2.0
2.1.9
1.6.1
0.34.6

Русский

English
简体中文
繁體中文
Español
Français
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Русский

English
简体中文
繁體中文
Español
Français
Português – Brasil
Deutsch
日本語
한국어
Italiano
Polski
Türkçe
čeština
magyar

Внешний вид

Sidebar Navigation

Введение

Почему Vitest

Начало работы

Возможности

Настройка Vitest

API

Справочник по API тестирования

Мок-функции

Vi

expect

expectTypeOf

assert

assertType

Руководство

Интерфейс командной строки

Фильтрация тестов

Тестовые проекты

Средства отчётности

Покрытие кода

Снапшот-тестирование

Мокирование

Параллелизм

Тестирование типов

Vitest UI

Тестирование в исходном коде

Контекст теста

Аннотации тестов

Среда тестирования

Расширение матчеров

Интеграции с IDE

Отладка

Распространенные ошибки

Руководство по миграции

Миграция на Vitest 3.0

Миграция с Jest

Производительность

Профилирование производительности тестов

Улучшение производительности

Режим браузера

Расширенный API

Сравнение с другими тестовыми раннерами

Содержание страницы

Интерфейс командной строки ​

Команды ​

vitest ​

Запускает Vitest в текущем каталоге. Автоматически переходит в режим наблюдения в среде разработки и в режим выполнения в CI (или неинтерактивном терминале).

Вы можете передать дополнительный аргумент в качестве фильтра для запускаемых тестовых файлов. Например:

bash
vitest foobar

Будут запущены только те тестовые файлы, пути которых содержат foobar. Этот фильтр проверяет только включение и не поддерживает регулярные выражения или шаблоны glob (если ваш терминал обрабатывает их до того, как Vitest получит фильтр).

Начиная с Vitest 3, вы также можете указать тест по имени файла и номеру строки:

bash
$ vitest basic/foo.test.ts:10

WARNING

Обратите внимание, что для корректной работы этой функции Vitest требует полного имени файла. Оно может быть относительным к текущей рабочей директории или абсолютным путем к файлу.

bash
$ 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 также не поддерживает диапазоны:

bash
$ 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.

bash
vitest related /src/index.ts /src/hello-world.js

TIP

Не забывайте, что Vitest по умолчанию запускается с включенным режимом наблюдения. Если вы используете такие инструменты, как lint-staged, вам также следует передать опцию --run, чтобы команда могла нормально завершиться.

js
export default {
  '*.{js,ts}': 'vitest related --run',
};

vitest bench ​

Запускает только бенчмарк-тесты, которые сравнивают результаты производительности.

vitest init ​

vitest init <name> может использоваться для настройки конфигурации проекта. На данный момент он поддерживает только значение browser:

bash
vitest init browser

vitest list ​

Команда vitest list наследует все опции vitest для вывода списка всех соответствующих тестов. Эта команда не учитывает опцию reporters. По умолчанию выводятся имена всех тестов, которые соответствуют файловому фильтру и шаблону имени:

shell
vitest list filename.spec.ts -t="some-test"
txt
describe > some-test
describe > some-test > test 1
describe > some-test > test 2

Вы можете передать флаг --json для вывода тестов в формате JSON или сохранения их в отдельном файле:

bash
vitest list filename.spec.ts -t="some-test" --json=./file.json

Если для флага --json не указано значение, JSON будет выведен в stdout.

Вы также можете передать флаг --filesOnly, чтобы вывести только тестовые файлы:

bash
vitest list --filesOnly
txt
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. Например, чтобы разделить ваш набор тестов на три части, используйте следующее:

sh
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):

sh
vitest --merge-reports --reporter=junit
Pager
Предыдущая страницаassertType
Следующая страницаФильтрация тестов

Выпущено на условиях лицензии MIT.

Авторские права (c) 2021-Present Vitest Team

https://vitest.dev/guide/cli

Выпущено на условиях лицензии MIT.

Авторские права (c) 2021-Present Vitest Team