Ladění
TIP
Při ladění testů je vhodné použít argument příkazového řádku --test-timeout
, abyste zabránili vypršení časového limitu testů, když se zastavíte na zarážkách.
VSCode
Rychlý způsob, jak ladit testy ve VSCode, je pomocí JavaScript Debug Terminal
. Otevřete nový JavaScript Debug Terminal
a spusťte npm run test
nebo vitest
. Toto funguje s libovolným kódem spuštěným v Node.js, takže bude fungovat s většinou JS testovacích frameworků.
Můžete také přidat speciální spouštěcí konfiguraci pro ladění testovacího souboru ve 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"
}
]
}
Poté na kartě ladění zkontrolujte, zda je vybrána možnost 'Debug Current Test File'. Následně můžete otevřít testovací soubor, který chcete ladit, a stisknutím klávesy F5 zahájit ladění.
IntelliJ IDEA
Vytvořte spouštěcí konfiguraci 'Node.js'. Použijte následující nastavení pro spuštění všech testů v režimu ladění:
Nastavení | Hodnota |
---|---|
Pracovní adresář | /cesta/k/vašemu-kořenovému-projektu |
Soubor JavaScript | ./node_modules/vitest/vitest.mjs |
Parametry aplikace | run --threads false |
Poté spusťte tuto konfiguraci v režimu ladění. IDE se zastaví na zarážkách JS/TS nastavených v editoru.
Node Inspector, např. Chrome DevTools
Vitest také podporuje ladění testů bez IDE. To ale vyžaduje, aby testy nebyly spouštěny paralelně. Použijte jeden z následujících příkazů ke spuštění Vitest.
# To run in a single worker
vitest --inspect-brk --single-thread
# To run in a child process
vitest --inspect-brk --single-thread --no-threads
Po spuštění Vitest zastaví provádění a čeká, až otevřete vývojářské nástroje, které se mohou připojit k NodeJS inspector. Můžete k tomu použít Chrome DevTools otevřením chrome://inspect
v prohlížeči.
V režimu sledování můžete ponechat debugger otevřený během opakovaného spouštění testů pomocí přepínačů --single-thread --isolate false
.