Passer au contenu

Débogage

VS Code

La manière rapide de déboguer des tests dans VS Code est via le Terminal de Débogage JavaScript. Ouvrez un nouveau Terminal de Débogage JavaScript et exécutez npm run test ou vitest directement. Cela fonctionne avec tout code exécuté dans Node, donc cela fonctionnera avec la plupart des frameworks de test JS.

image

Vous pouvez également ajouter une configuration de lancement dédiée pour déboguer un fichier de test dans VS Code :

{
// Pour plus d'informations, visitez : https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Déboguer le fichier de test actuel",
"autoAttachChildProcesses": true,
"skipFiles": ["<node_internals>/**", "**/node_modules/**"],
"program": "${workspaceRoot}/node_modules/vitest/vitest.mjs",
"args": ["run", "${relativeFile}"],
"smartStep": true,
"console": "integratedTerminal"
}
]
}

Ensuite, dans l’onglet de débogage, assurez-vous que ‘Déboguer le fichier de test actuel’ est sélectionné. Vous pouvez ensuite ouvrir le fichier de test que vous souhaitez déboguer et appuyer sur F5 pour commencer le débogage.

IntelliJ IDEA

Créez une configuration de lancement ‘Node.js’. Utilisez les paramètres suivants pour exécuter tous les tests en mode débogage :

ParamètreValeur
Répertoire de travail/path/to/your-project-root
Fichier JavaScript./node_modules/vitest/vitest.mjs
Paramètres d’applicationrun --pool forks

Ensuite, exécutez cette configuration en mode débogage. L’IDE s’arrêtera aux points d’arrêt JS/TS définis dans l’éditeur.

Node Inspector, par exemple Chrome DevTools

Vitest prend également en charge le débogage des tests sans IDE. Cependant, cela nécessite que les tests ne soient pas exécutés en parallèle. Utilisez l’une des commandes suivantes pour lancer Vitest.

Fenêtre de terminal
# Pour exécuter dans un seul worker
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread
# Pour exécuter dans un seul processus enfant
vitest --inspect-brk --pool forks --poolOptions.forks.singleFork

Si vous utilisez Vitest 1.1 ou une version ultérieure, vous pouvez également simplement fournir le drapeau --no-file-parallelism :

Fenêtre de terminal
# Si le pool est inconnu
vitest --inspect-brk --no-file-parallelism

Une fois que Vitest a démarré, il arrêtera l’exécution et attendra que vous ouvriez les outils de développement qui peuvent se connecter à l’inspecteur Node.js. Vous pouvez utiliser les outils de développement de Chrome pour cela en ouvrant chrome://inspect dans le navigateur.

En mode de surveillance, vous pouvez garder le débogueur ouvert pendant les nouvelles exécutions de tests en utilisant l’option --poolOptions.threads.isolate false.