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 --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 soient exécutés de manière séquentielle. Utilisez l'une des commandes suivantes pour lancer Vitest.
# Pour exécuter dans un thread unique
vitest --inspect-brk --pool threads --poolOptions.threads.singleThread
# Pour exécuter dans un seul processus enfant
vitest --inspect-brk --pool forks --poolOptions.forks.singleForkSi vous utilisez Vitest 1.1 ou une version ultérieure, vous pouvez également simplement fournir l'indicateur --no-file-parallelism:
# Si pool est inconnu
vitest --inspect-brk --no-file-parallelismUne 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 Chrome DevTools pour cela en ouvrant chrome://inspect dans le navigateur.
En mode de surveillance, vous pouvez garder le débogueur ouvert pendant les réexécutions de tests en utilisant les options --poolOptions.threads.isolate false.