Depuración
TIP
Al depurar pruebas, es posible que desees usar el argumento de la CLI --test-timeout
para evitar que las pruebas excedan el tiempo límite al detenerse en los puntos de interrupción.
VSCode
Una forma rápida de depurar pruebas en VSCode es usando el JavaScript Debug Terminal
. Abre un nuevo JavaScript Debug Terminal
y ejecuta npm run test
o vitest
directamente. Esto funciona con cualquier código ejecutado en Node, por lo que también funcionará con la mayoría de los frameworks de pruebas de JavaScript.
También puedes agregar una configuración de lanzamiento dedicada para depurar un archivo de prueba en VSCode:
{
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Depurar el archivo de prueba actual",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}
En la pestaña de depuración, asegúrate de que esté seleccionado 'Depurar el archivo de prueba actual'. Luego, puedes abrir el archivo de prueba que deseas depurar y presionar F5 para comenzar la depuración.
IntelliJ IDEA
Crea una configuración de ejecución de ‘Node.js’. Utiliza la siguiente configuración para ejecutar todas las pruebas en modo de depuración:
Configuración | Valor |
---|---|
Directorio de trabajo | /ruta/a/la-raíz-de-tu-proyecto |
Archivo JavaScript | ./node_modules/vitest/vitest.mjs |
Parámetros de la aplicación | run --threads=false |
Luego, ejecuta esta configuración en modo de depuración. El IDE se detendrá en los puntos de interrupción JS/TS establecidos en el editor.
Node Inspector, por ejemplo, Chrome DevTools
Vitest también permite depurar pruebas sin un IDE. Sin embargo, esto requiere que las pruebas no se ejecuten en paralelo. Utiliza uno de los siguientes comandos para iniciar Vitest.
# Para ejecutar en un solo worker
vitest --inspect-brk --single-thread
# Para ejecutar en un proceso hijo
vitest --inspect-brk --single-thread --no-threads
Una vez que Vitest se inicie, detendrá la ejecución y esperará a que abras las herramientas de desarrollador que se puedan conectar al inspector de Node.js. Puedes usar Chrome DevTools para esto abriendo chrome://inspect
en el navegador.
En el modo de observación, puedes mantener el depurador abierto durante las re-ejecuciones de pruebas utilizando las opciones --single-thread --isolate=false
.