Débogage
TIP
Lors du débogage de tests, vous pouvez utiliser l'argument CLI --test-timeout
pour éviter que les tests ne dépassent le temps imparti lorsque vous êtes arrêté sur des points d'arrêt.
Visual Studio Code
Un moyen rapide de déboguer les tests dans Visual Studio Code est d'utiliser le JavaScript Debug Terminal
("Terminal de débogage JavaScript"). Ouvrez un nouveau JavaScript Debug Terminal
et exécutez npm run test
ou vitest
directement. Cette méthode fonctionne avec tout code exécuté sous Node et est donc compatible avec la plupart des frameworks de test JS.
Vous pouvez également ajouter une configuration de lancement dédiée pour déboguer un fichier de test dans Visual Studio 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 d'exécution 'Node.js'. Utilisez les paramètres suivants pour exécuter tous les tests en mode débogage :
Paramètre | Valeur |
---|---|
Chemin du projet | /chemin/vers/votre-projet-racine |
Fichier JavaScript | ./node_modules/vitest/vitest.mjs |
Paramètres de l'application | run --threads false |
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 soient exécutés de manière séquentielle. Utilisez l'une des commandes suivantes pour lancer Vitest.
# Pour exécuter avec un seul processus
vitest --inspect-brk --single-thread
# Pour exécuter dans un processus enfant
vitest --inspect-brk --single-thread --no-threads
Une fois que Vitest démarre, il interrompt l'exécution et attend que vous ouvriez des outils de développement pouvant se connecter à NodeJS inspector. Vous pouvez utiliser Chrome DevTools pour cela en ouvrant chrome://inspect
dans le navigateur.
En mode surveillance, vous pouvez garder le débogueur ouvert pendant les ré-exécutions des tests en utilisant les options --single-thread --isolate=false
.