Débogage de tests
Exécution de tests dans VS Code
Il existe plusieurs façons d'exécuter des tests dans VS Code, toutes décrites dans leur guide de débogage Node.js.
Nous vous recommandons d'essayer l'approche suivante.
Activer Auto Attach
Il s'agit d'une action unique.
- Dans VS Code, appuyez sur
Ctrl+Shift+P(Cmd+Shift+P) pour ouvrir la Palette de commandes. - Recherchez une option appelée Debug: Auto Attach et sélectionnez-la.
- Un menu s'affiche. Sélectionnez Smart. Cela permettra à VS Code de se rattacher automatiquement aux processus Node.js lancé en mode débogage.
Déboguer un test
S'il s'agit de votre premier débogage dans un dossier d'application, il est possible que la capture d'écran ci-dessous s'affiche et non la « flèche verte » pour lancer le débogage. Cliquez sur Show all automatic debug configurations et sélectionnez « Node.js ». Vous pouvez ensuite voir la liste des scripts à exécuter depuis package.json.
Après une exécution, vous pouvez trouver le terminal de débogage Javascript dans la vue du terminal lors de la création d'un nouveau terminal.
- Ouvrez un fichier de test et définissez un point d'arrêt.
- Appuyez sur
Ctrl+Shift+D(Cmd+Shift+D) pour ouvrir la vue de débogage. - Cliquez sur la flèche vers le bas à côté du bouton de lecture vert et sélectionnez Node.js. Vous obtenez une liste de tous les scripts disponibles dans votre fichier
package.json. - Sélectionnez Run Script: test.
- Appuyez sur le bouton de lecture vert.
Jest est exécuté en mode débogage. Le débogueur s'arrête au point d'arrêt que vous avez ajouté.
Exécuter un seul fichier de test
-
Appuyez sur
Ctrl+Shift+D(Cmd+Shift+D) pour ouvrir la vue de débogage. -
Cliquez sur la flèche vers le bas à côté du bouton de lecture vert et sélectionnez Node.js. Vous obtenez une liste de tous les scripts disponibles dans votre fichier
package.json. -
Sélectionnez Run Script: test. Le test est sélectionné dans la vue de débogage.
-
Sélectionnez l'icône de l'engrenage. La configuration de test est ajoutée à
launch.json.{
"type": "node-terminal",
"name": "Run Script: test",
"request": "launch",
"command": "npm run test",
"cwd": "${workspaceFolder}"
} -
Modifiez la ligne qui indique
"command": "npm run test",pour qu'elle indique"command": "npm run test -- ${workspaceFolder}/src/pages/Welcome/__tests__/Welcome.test.js --watch",${workspaceFolder}/src/pages/Welcome/__tests__/Welcome.test.jsétant le chemin d'accès à votre fichier de test.L'option
--watchactive le mode Watch. Cela signifie que Jest réexécute le test chaque fois que vous enregistrez le fichier.Note: Au cas où la commandenpm run testne déclencherait pas les points d'arrêt pour vous, essayez plutôt d'utiliserjutro app:tests. -
Appuyez sur le bouton de lecture vert.
Exécuter un seul test
Pour exécuter un seul test, utilisez l'option -testNamePattern (ou -t).
- Préparez une configuration de débogage comme décrit dans la section précédente.
- Modifiez la ligne qui indique
"command": "npm run test",pour qu'elle indique"command": "npm run test -- -t 'Welcome Page render Welcome page main image'",
Dans cet exemple, nous n'exécutons qu'un seul test appelé render Welcome page main image mais le it de ce test se trouve dans une directive describe appelée Welcome Page. Ainsi, notre argument -t suit le modèle suivant :
"command": "npm run test -- -t '<describeString> <itString>'",
Exécution de tests à partir d'IntelliJ Idea
Pour exécuter des tests à partir d'IntelliJ Idea :
- Cliquez avec le bouton droit de la souris sur un fichier de test et sélectionnez une option d'exécution. IntelliJ crée une configuration de build.
- Dans les options de configuration de build, modifiez :
- Package Jest sur
node_modules/@jutro/cli-platform - Options Jest sur
app:tests
- Package Jest sur
Vos options doivent ressembler à ce qui suit :

Recherche de l'ID de chaîne d'une traduction
Il peut être difficile de déterminer l'ID de la chaîne d'un message affiché dans l'application. Pour simplifier les tests indépendants de la traduction, il existe deux options permettant d'afficher les ID des chaînes au lieu des traductions réelles :
- paramètre de requête
displayStringId - variable d'environnement
DEV_DISPLAY_STRING_ID=true(nécessite le redémarrage de l'application)
