Depuração
TIP
Ao depurar testes, você pode querer usar o argumento da CLI --test-timeout
para evitar que os testes atinjam o tempo limite ao parar em pontos de interrupção.
VSCode
Uma maneira rápida de depurar testes no VSCode é através do JavaScript Debug Terminal
. Abra um novo JavaScript Debug Terminal
e execute npm run test
ou vitest
diretamente. Isso funciona com qualquer código executado no Node, então funcionará com a maioria dos frameworks de teste JS.
Você também pode adicionar uma configuração de lançamento dedicada para depurar um arquivo de teste no 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"
}
]
}
Então, na aba de depuração, certifique-se de que 'Debug Current Test File' esteja selecionado. Você pode então abrir o arquivo de teste que você quer depurar e pressionar F5 para iniciar a depuração.
IntelliJ IDEA
Crie uma configuração de execução 'Node.js'. Use as seguintes configurações para executar todos os testes em modo de depuração:
Configuração | Valor |
---|---|
Diretório de trabalho | /caminho/para/seu-projeto-raiz |
Arquivo JavaScript | ./node_modules/vitest/vitest.mjs |
Parâmetros da aplicação | run --threads false |
Então execute esta configuração em modo de depuração. A IDE irá parar nos breakpoints de JS/TS definidos no editor.
Node Inspector, por exemplo, Chrome DevTools
O Vitest também suporta depurar testes sem IDEs. No entanto, isso requer que os testes sejam executados de forma não paralela. Use um dos seguintes comandos para iniciar o Vitest.
# Para executar em um único worker
vitest --inspect-brk --single-thread
# Para executar em um processo filho
vitest --inspect-brk --single-thread --no-threads
Uma vez iniciado, o Vitest irá parar a execução e esperar que você abra as ferramentas de desenvolvedor que podem se conectar ao NodeJS inspector. Você pode usar o Chrome DevTools para isso abrindo chrome://inspect
no navegador.
No modo de observação, você pode manter o depurador aberto durante as reexecuções de teste usando as opções --single-thread --isolate false
.