Debugowanie
TIP
Podczas debugowania testów możesz użyć argumentu CLI --test-timeout
, aby zapobiec przekroczeniu limitu czasu testów, gdy zatrzymasz się na punktach przerwania.
VSCode
Szybkim sposobem na debugowanie testów w VSCode jest użycie terminala debugowania JavaScript (JavaScript Debug Terminal
). Otwórz nowy JavaScript Debug Terminal
i uruchom npm run test
lub bezpośrednio vitest
. Ta metoda działa z dowolnym kodem uruchamianym w Node.js, a więc będzie kompatybilna z większością frameworków testowych JavaScript.
Możesz również dodać dedykowaną konfigurację uruchamiania, aby debugować pojedynczy plik testowy w VSCode:
{
// Więcej informacji: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debuguj bieżący plik testowy",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}
Następnie w zakładce debugowania upewnij się, że wybrano konfigurację 'Debuguj bieżący plik testowy'. Otwórz plik testowy, który chcesz debugować, i naciśnij F5, aby rozpocząć debugowanie.
IntelliJ IDEA
Utwórz konfigurację uruchomieniową 'Node.js'. Użyj następujących ustawień, aby uruchomić wszystkie testy w trybie debugowania:
Ustawienie | Wartość |
---|---|
Katalog roboczy | /path/to/your-project-root |
Plik JavaScript | ./node_modules/vitest/vitest.mjs |
Parametry aplikacji | run --threads false |
Następnie uruchom tę konfigurację w trybie debugowania. IDE zatrzyma wykonywanie na punktach przerwania JS/TS ustawionych w edytorze.
Node Inspector, np. Chrome DevTools
Vitest umożliwia debugowanie testów również bez użycia IDE. Wymaga to jednak, aby testy nie były uruchamiane równolegle. Użyj jednego z poniższych poleceń, aby uruchomić Vitest.
# Aby uruchomić w jednym workerze
vitest --inspect-brk --single-thread
# Aby uruchomić w procesie potomnym
vitest --inspect-brk --single-thread --no-threads
Po uruchomieniu Vitest zatrzyma wykonywanie i poczeka, aż otworzysz narzędzia deweloperskie, które mogą połączyć się z inspektorem NodeJS. Możesz skorzystać z Chrome DevTools, otwierając chrome://inspect
w przeglądarce.
W trybie obserwowania zmian (watch mode) możesz pozostawić debugger otwarty podczas ponownych uruchomień testów, używając opcji --single-thread --isolate false
.