Отладка
TIP
При отладке тестов может потребоваться использовать аргумент командной строки --test-timeout, чтобы тесты не прерывались по таймауту при остановке на точках останова.
VSCode
Быстрый способ отладки тестов в VSCode — использовать JavaScript Debug Terminal. Откройте новый JavaScript Debug Terminal и запустите npm run test или vitest напрямую. Это работает с любым кодом, запущенным в Node, и, следовательно, подходит для большинства JS-фреймворков для тестирования.

Вы также можете добавить отдельную конфигурацию запуска для отладки текущего тестового файла в VSCode:
{
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Current Test File",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}Затем на вкладке отладки убедитесь, что выбрана конфигурация 'Debug Current Test File'. После этого откройте тестовый файл, который хотите отладить, и нажмите F5, чтобы начать отладку.
IntelliJ IDEA
Создайте конфигурацию запуска типа 'Node.js'. Используйте следующие настройки для запуска всех тестов в режиме отладки:
| Setting | Value |
|---|---|
| Working directory | /path/to/your-project-root |
| JavaScript file | ./node_modules/vitest/vitest.mjs |
| Application parameters | run --pool forks |
Затем запустите эту конфигурацию в режиме отладки. IDE будет останавливаться на точках останова JavaScript/TypeScript, установленных в редакторе.
Node Inspector, например, Chrome DevTools
Vitest также поддерживает отладку тестов без IDE. Однако для этого требуется последовательное выполнение тестов. Используйте одну из следующих команд для запуска Vitest.
# Для запуска в одном воркере
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread
# Для запуска в одном дочернем процессе
vitest --inspect-brk --pool forks --poolOptions.forks.singleForkЕсли вы используете Vitest 1.1 или выше, вы также можете просто указать флаг --no-file-parallelism:
# Если пул неизвестен
vitest --inspect-brk --no-file-parallelismПосле запуска Vitest остановит выполнение и будет ждать, пока вы не откроете инструменты разработчика, которые могут подключаться к инспектору Node.js. Вы можете использовать Chrome DevTools для этого, открыв chrome://inspect в браузере.
В режиме наблюдения вы можете держать отладчик открытым во время повторных запусков тестов, используя опции --poolOptions.threads.isolate false.