Skip to content
Vitest 1
Main Navigation Руководство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 UI

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

In-source тестирование (Тестирование в исходном коде)

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

Тестовая среда

Расширение проверок (matchers)

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

Отладка

Сравнения с другими тестовыми фреймворками

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

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

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

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

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

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

  • Пул threads запускает каждый тестовый файл в отдельном Worker (рабочем потоке).
  • Пул forks запускает каждый тестовый файл в отдельном порожденном дочернем процессе (forked child process).
  • Пул vmThreads запускает каждый тестовый файл в отдельном VM context (VM контексте), но использует workers (рабочие потоки) для параллелизма.

Это может значительно увеличить время выполнения тестов, что нежелательно для проектов, не имеющих побочных эффектов и корректно очищающих состояние (что обычно справедливо для проектов с окружением node). В этом случае отключение изоляции повысит скорость ваших тестов. Чтобы это сделать, укажите флаг --no-isolate в CLI или установите свойство test.isolate в false в конфигурации. Если вы используете несколько пулов одновременно с опцией poolMatchGlobs, вы также можете отключить изоляцию для конкретного используемого пула.

bash
vitest --no-isolate
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    isolate: false,
    // Вы также можете отключить изоляцию только для определенных пулов
    poolOptions: {
      forks: {
        isolate: false,
      },
    },
  },
});

TIP

Если вы используете пул vmThreads, отключение изоляции невозможно. Для повышения производительности тестов используйте пул threads.

Для некоторых проектов также может быть полезно отключить параллелизм файлов для сокращения времени инициализации. Чтобы это сделать, передайте флаг --no-file-parallelism в CLI или установите свойство test.fileParallelism в false в конфигурации.

bash
vitest --no-file-parallelism
ts
import { defineConfig } from 'vitest/config';

export default defineConfig({
  test: {
    fileParallelism: false,
  },
});
Pager
Предыдущая страницаРаспространенные ошибки

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

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

https://v1.vitest.dev/guide/improving-performance

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

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