Ladění
TIP
Při ladění testů můžete použít argument CLI --test-timeout, abyste zabránili vypršení časového limitu testů, když se zastaví na zarážkách.
VS Code
Rychlý způsob, jak ladit testy ve VS Code, je pomocí JavaScript Debug Terminal. Otevřete nový JavaScript Debug Terminal a spusťte npm run test nebo přímo vitest. Tento postup funguje s jakýmkoli kódem spuštěným v Node.js, takže je použitelný pro většinu JS testovacích frameworků.

Můžete také přidat speciální konfiguraci spuštění pro ladění testovacího souboru ve VS Code:
{
// Pro více informací navštivte: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Ladit aktuální testovací soubor",
"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 'Ladit aktuální testovací soubor'. Následně můžete otevřít testovací soubor, který chcete ladit, a stisknutím F5 spustit ladění.
Režim prohlížeče
Pro ladění režimu prohlížeče Vitest použijte --inspect nebo --inspect-brk v CLI, nebo to definujte ve své konfiguraci Vitest:
vitest --inspect-brk --browser --no-file-parallelismimport { defineConfig } from 'vitest/config';
export default defineConfig({
test: {
inspectBrk: true,
fileParallelism: false,
browser: {
name: 'chromium',
provider: 'playwright',
},
},
});Ve výchozím nastavení Vitest používá port 9229 jako ladicí port. Můžete jej přepsat předáním hodnoty v --inspect-brk:
vitest --inspect-brk=127.0.0.1:3000 --browser --no-file-parallelismPoužijte následující složenou konfiguraci VSCode pro spuštění Vitest a připojení debuggeru k prohlížeči:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Spustit Vitest v režimu prohlížeče",
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"console": "integratedTerminal",
"args": ["--inspect-brk", "--browser", "--no-file-parallelism"]
},
{
"type": "chrome",
"request": "attach",
"name": "Připojit k Vitest v režimu prohlížeče",
"port": 9229
}
],
"compounds": [
{
"name": "Ladit Vitest v režimu prohlížeče",
"configurations": ["Připojit k Vitest v režimu prohlížeče", "Spustit Vitest v režimu prohlížeče"],
"stopAll": true
}
]
}IntelliJ IDEA
Vytvořte spouštěcí konfiguraci Vitest. 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 |
Poté spusťte tuto konfiguraci v režimu ladění. IDE se zastaví na JS/TS zarážkách nastavených v editoru.
Node Inspector, např. Chrome DevTools
Vitest také podporuje ladění testů bez IDE. To však vyžaduje, aby testy nebyly spouštěny souběžně. Použijte jeden z následujících příkazů ke spuštění Vitest.
# Spustit v jednom workeru
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread
# Spustit v jednom podřízeném procesu
vitest --inspect-brk --pool forks --poolOptions.forks.singleFork
# Spustit v režimu prohlížeče
vitest --inspect-brk --browser --no-file-parallelismPokud používáte Vitest 1.1 nebo vyšší, můžete také jednoduše zadat příznak --no-file-parallelism:
# Pokud je pool neznámý
vitest --inspect-brk --no-file-parallelismJakmile se Vitest spustí, pozastaví provádění a počká, až otevřete vývojářské nástroje, které se mohou připojit k Node.js inspektoru. K tomu můžete použít Chrome DevTools tak, že v prohlížeči otevřete chrome://inspect.
V režimu watch můžete nechat debugger otevřený během opakovaných spuštění testů s použitím možnosti --poolOptions.threads.isolate false.