Cucumber - 3.1 Filtrer les scénarios avec des tags et des data tables

Cette leçon présente deux outils pour contrôler les tests. Les tags permettent de choisir les scénarios à lancer. Les data tables transmettent des données structurées à une étape. Ces notions reprennent les scénarios vus précédemment et les complètent.

Lancer un scénario précis avec un tag

Un tag marque un scénario. Dans la vidéo, on indique ensuite au test runner de ne lancer que le scénario marqué. Seul ce scénario est alors exécuté.

Pendant la démonstration, l'auteur corrige une erreur avant de relancer le test, puis vérifie le résultat.

Transmettre une data table à une étape

Une data table est un tableau placé sous une étape du scénario. Elle transmet plusieurs valeurs à la définition de l'étape, par exemple les informations d'un nouvel utilisateur.

Dans le code Java, la data table peut être reçue sous forme de liste ou de map. Une liste donne les lignes dans l'ordre. Une map associe chaque clé à sa valeur.

Vérifier les valeurs reçues

Pour contrôler le résultat, l'auteur affiche dans l'étape les valeurs reçues. Il invite ensuite le lecteur à exécuter les scénarios et à relire les étapes en cas d'erreur.

En résumé

Les tags limitent les scénarios exécutés. Les data tables transmettent des données structurées aux étapes, sous forme de liste ou de map. Ensemble, ils permettent de tester plusieurs cas de façon ciblée.

Points clés

  • Un tag marque un scénario pour pouvoir le sélectionner.
  • Le test runner peut ne lancer que les scénarios portant un tag donné.
  • Une data table transmet plusieurs valeurs à une étape.
  • Une liste garde les valeurs dans l'ordre, une map associe clés et valeurs.
  • Les valeurs reçues viennent des données écrites dans le scénario.

Questions fréquentes

Qu'est-ce qu'un tag dans un scénario ?

C'est un marqueur placé sur le scénario. Il permet ensuite de demander au test runner de ne lancer que les scénarios marqués.

Quand utiliser une data table plutôt qu'une valeur simple ?

Une data table convient lorsqu'une étape reçoit plusieurs informations liées, comme les données d'un utilisateur.

Comment recevoir une data table en Java ?

La vidéo présente deux options : une liste ou une map. La liste donne les lignes, la map relie chaque clé à sa valeur.