Passer au contenu principal

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.

  1. Dans VS Code, appuyez sur Ctrl+Shift+P (Cmd+Shift+P) pour ouvrir la Palette de commandes.
  2. Recherchez une option appelée Debug: Auto Attach et sélectionnez-la.
  3. 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.

Capture d'écran du terminal de débogage JavaScript

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.

  1. Ouvrez un fichier de test et définissez un point d'arrêt.
  2. Appuyez sur Ctrl+Shift+D (Cmd+Shift+D) pour ouvrir la vue de débogage.
  3. 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.
  4. Sélectionnez Run Script: test.
  5. 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​

Note: Vous devez modifier cette configuration chaque fois que vous souhaitez exécuter un fichier de test différent.
  1. Appuyez sur Ctrl+Shift+D (Cmd+Shift+D) pour ouvrir la vue de débogage.

  2. 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.

  3. Sélectionnez Run Script: test. Le test est sélectionné dans la vue de débogage.

  4. 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}"
    }
  5. 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 --watch active le mode Watch. Cela signifie que Jest réexécute le test chaque fois que vous enregistrez le fichier.

    Note: Au cas où la commande npm run test ne déclencherait pas les points d'arrêt pour vous, essayez plutôt d'utiliser jutro app:tests.
  6. Appuyez sur le bouton de lecture vert.

Exécuter un seul test​

Note: Vous devez modifier cette configuration chaque fois que vous souhaitez exécuter un fichier de test différent.

Pour exécuter un seul test, utilisez l'option -testNamePattern (ou -t).

  1. Préparez une configuration de débogage comme décrit dans la section précédente.
  2. 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 :

  1. 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.
  2. Dans les options de configuration de build, modifiez :
    • Package Jest sur node_modules/@jutro/cli-platform
    • Options Jest sur app:tests

Vos options doivent ressembler à ce qui suit :

une capture d&#39;écran de la configuration IntelliJ pour les tests

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)

Paramètre de requête displayStringId en action