Skip to content
Vitest 2
Main Navigation РуководствоAPIКонфигурацияРежим браузераПродвинутый
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

Отладка

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

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

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

Profiling Test Performance

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

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

Отладка ​

TIP

При отладке тестов рекомендуется использовать аргумент CLI --test-timeout, чтобы тесты не завершались по таймауту при остановке на точках останова.

VS Code ​

Для быстрой отладки тестов в VS Code используйте JavaScript Debug Terminal. Откройте новый JavaScript Debug Terminal и запустите npm run test или vitest. Это применимо к любому коду, запущенному в Node, и, соответственно, к большинству фреймворков тестирования JS.

image

Вы также можете добавить специальную конфигурацию запуска для отладки тестового файла в VS Code:

json
{
  // Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Отладка текущего тестового файла",
      "autoAttachChildProcesses": true,
      "skipFiles": ["<node_internals>/**", "**/node_modules/**"],
      "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
      "args": ["run", "${relativeFile}"],
      "smartStep": true,
      "console": "integratedTerminal"
    }
  ]
}

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

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

Для отладки режима браузера Vitest передайте --inspect или --inspect-brk в CLI или определите это в вашей конфигурации Vitest:

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

export default defineConfig({
  test: {
    inspectBrk: true,
    fileParallelism: false,
    browser: {
      name: 'chromium',
      provider: 'playwright',
    },
  },
});

По умолчанию Vitest будет использовать порт 9229 для отладки. Вы можете переопределить его, передав значение аргументу --inspect-brk:

bash
vitest --inspect-brk=127.0.0.1:3000 --browser --no-file-parallelism

Используйте следующую комбинированную конфигурацию VSCode для запуска Vitest и подключения отладчика к браузеру:

json
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Запустить Vitest в браузере",
      "program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
      "console": "integratedTerminal",
      "args": ["--inspect-brk", "--browser", "--no-file-parallelism"]
    },
    {
      "type": "chrome",
      "request": "attach",
      "name": "Подключиться к Vitest в браузере",
      "port": 9229
    }
  ],
  "compounds": [
    {
      "name": "Отладка Vitest в браузере",
      "configurations": ["Подключиться к Vitest в браузере", "Запустить Vitest в браузере"],
      "stopAll": true
    }
  ]
}

IntelliJ IDEA ​

Создайте конфигурацию запуска для Vitest. Используйте следующие параметры для запуска всех тестов в режиме отладки:

ПараметрЗначение
Рабочая директория/path/to/your-project-root

Затем запустите эту конфигурацию в режиме отладки. IDE будет останавливаться на точках останова в JS/TS коде, установленных в редакторе.

Node Inspector, например Chrome DevTools ​

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

sh
# Для запуска в одном воркере
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread

# Для запуска в одном дочернем процессе
vitest --inspect-brk --pool forks --poolOptions.forks.singleFork

# Для запуска в режиме браузера
vitest --inspect-brk --browser --no-file-parallelism

Если вы используете Vitest 1.1 или выше, вы также можете просто передать флаг --no-file-parallelism:

sh
# Если пул неизвестен
vitest --inspect-brk --no-file-parallelism

Как только Vitest запустится, он приостановит выполнение и будет ожидать, пока вы откроете инструменты разработчика, способные подключиться к инспектору Node.js. Для этого вы можете использовать Chrome DevTools, открыв chrome://inspect в браузере.

В режиме наблюдения вы можете оставлять отладчик открытым во время повторных запусков тестов, используя опцию --poolOptions.threads.isolate false.

Pager
Предыдущая страницаИнтеграции с IDE
Следующая страницаСравнения с другими тестовыми фреймворками

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

Авторские права (c) 2024 Mithril Contributors

https://v2.vitest.dev/guide/debugging

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

Авторские права (c) 2024 Mithril Contributors