Cucumber-js: Le rapport JSON sur le concombre ne parvient pas à être généré lorsqu'un aperçu de scénario a une balise

Créé le 22 mars 2021  ·  12Commentaires  ·  Source: cucumber/cucumber-js

Version Concombre: 7.0.0
Version du nœud : 14.15.0
Système d'exploitation : MacOS Big Sur v11.2.1

Étant donné le cas de test suivant :

<strong i="9">@parent_tag</strong>
Scenario Outline: Sample test case
Given this is a test case
When I have the following data table
| <scenario_example> |
Then a JSON report will be generated

<strong i="10">@child_tag_1</strong>
Examples:
| scenario_example |
| Test Child Tag 1 |

<strong i="11">@child_tag_2</strong>
Examples:
| scenario_example |
| Test Child Tag 2 |

Lorsque j'exécute le scénario de test ci-dessus avec la balise : "--tags @child_tag_2" et "-f json:reports/cucumber-report.json ", le

TypeError: Cannot read property 'location' of undefined
    at /Users/project-folder/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js:185:34
    at arrayMap (/Users/project-folder/node_modules/lodash/lodash.js:653:23)
    at Function.map (/Users/project-folder/node_modules/lodash/lodash.js:9622:14)
    at JsonFormatter.getScenarioTags (/Users/project-folder/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js:180:33)
    at JsonFormatter.getScenarioData (/Users/project-folder/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js:125:24)
    at /Users/project-folder/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js:84:29
    at Array.map (<anonymous>)
    at /Users/project-folder/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js:69:36
    at /Users/project-folder/node_modules/lodash/lodash.js:3585:27
    at /Users/project-folder/node_modules/lodash/lodash.js:4967:15
    at baseForOwn (/Users/project-folder/node_modules/lodash/lodash.js:3032:24)
    at /Users/project-folder/node_modules/lodash/lodash.js:4936:18
    at baseMap (/Users/project-folder/node_modules/lodash/lodash.js:3584:7)
    at Function.map (/Users/project-folder/node_modules/lodash/lodash.js:9622:14)
    at JsonFormatter.onTestRunFinished (/Users/project-folder/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js:63:43)
    at EventEmitter.<anonymous> (/Users/project-folder/node_modules/@cucumber/cucumber/lib/formatter/json_formatter.js:23:22)

Par conséquent, je ne peux générer aucun rapport JSON.

J'ai essayé de supprimer les balises d'exemple de contour de scénario et la génération du rapport JSON s'est poursuivie.

bug accepted

Commentaire le plus utile

Un correctif a été fusionné dans le nouveau json-formatter autonome
Mais je vais essayer de réparer le formateur intégré hérité aussi

Tous les 12 commentaires

Salut :)

Lorsque vous dites "J'ai essayé de supprimer les balises d'exemple de contour de scénario et il a procédé à la génération du rapport JSON.", avez-vous supprimé uniquement les balises tout en conservant deux exemples de tableaux ? Ou avez-vous fusionné les deux exemples en un seul ?

Salut @aurelien-reeves,

J'ai supprimé à la fois les balises et la table des deux exemples, et j'ai juste utilisé 1 table d'exemples. :) Quelque chose comme ça:

<strong i="7">@parent_tag</strong> <strong i="8">@child_tag_2</strong>
Scenario Outline: Sample test case
Given this is a test case
When I have the following data table
| <scenario_example> |
Then a JSON report will be generated

Examples:
| scenario_example |
| Test Child Tag 2 |

Merci beaucoup!

Merci pour l'info @xenbartolokath

J'ai eu le même problème mais j'ai réalisé que je filtrais lorsque j'exécute la commande cli IE

npm run rapporteur -- --cucumberOpts.tags='not ( @wip ou @bug ou @backlog) et @blocker '

J'avais une balise différente dans la table d'exemple

@unautre_tag
Exemples:
| scénario_exemple |
| Tester la balise enfant 2 |

J'ai changé la commande en ceci et travaille pour moi-->
npm run rapporteur -- --cucumberOpts.tags='not ( @wip ou @bug ou @backlog) et ( @blocker ou @another_tag )'

Merci pour votre retour @yopasa94

J'ai approfondi la question.

En effet, le formateur json ne supporte pas les balises sur les exemples. Il devrait en fait.
Le nouveau json-formatter n'aide pas ici. Il ne reconnaît pas non plus les balises d'exemple.

Comme le formateur json intégré est obsolète, je me concentrerai sur la réparation du nouveau format autonome.

@xenbartolokath @yopasa94 avez-vous un besoin spécifique d'utiliser le formateur obsolète hérité ? Ou autre chose qui vous empêcherait d'utiliser le nouveau formateur json autonome ?
Quelle version de concombre utilisez-vous ?

Salut @aurelien-reeves,

Pour ce problème, j'utilisais @cucumber/cucumber v7.0.0, mais j'utilise toujours la v6.0.5 sur d'autres référentiels que j'ai.

Je n'ai pas de besoin spécifique dans le formateur obsolète hérité. Pour le formateur json autonome, j'ai vu que je devais télécharger et exécuter certaines commandes pour l'installer, et je ne sais pas si la configuration actuelle de mon pipeline s'adapterait aux modifications. Je préfère l'installer via npm si disponible.

Tant que nous pouvons mettre des balises sur les tables d'exemples et générer des rapports sans problème, alors ça me va. ??

Pour info, le json-formatter autonome est un binaire autonome écrit en go. Il ne nécessite aucune installation en plus de s'assurer qu'il est exécutable.

Pour info, le json-formatter autonome est un binaire autonome écrit en go. Il ne nécessite aucune installation en plus de s'assurer qu'il est exécutable.

J'ai compris. Merci pour la clarification. ??

Un correctif a été fusionné dans le nouveau json-formatter autonome
Mais je vais essayer de réparer le formateur intégré hérité aussi

@xenbartolokath @yopasa94 Le json-formatter autonome vient d'être publié avec le support d'exemples étiquetés.
Vous pouvez le télécharger ici : https://github.com/cucumber/cucumber/releases/tag/cucumber-json-formatter%2Fv17.0.2

@aurelien-reeves Je vais essayer cela et vous fera savoir s'il y a des retours de ma part. Merci! J'ai apprécié votre temps et vos efforts

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

protoman92 picture protoman92  ·  3Commentaires

hdorgeval picture hdorgeval  ·  3Commentaires

travi picture travi  ·  5Commentaires

lamartire picture lamartire  ·  6Commentaires

dblooman picture dblooman  ·  7Commentaires