Les formateurs personnalisés qui ne s'accrochent qu'à test-run-finished
comme le formateur JSON fonctionnent comme prévu lorsqu'ils sont parallélisés, mais les formateurs qui utilisent des événements antérieurs comme test-(step|case)-started
et sont commandés voient leur sortie déconnectée de la séquence invalidant la structure du document de sortie. Y a-t-il quelque chose de prévu pour y remédier ? Peut-être tamponner la sortie par base de travail et tout enregistrer en même temps sur le maître une fois terminé ?
Je pense que chaque événement devrait contenir suffisamment d'informations pour pouvoir le lier aux événements précédents plutôt que de le mettre en mémoire tampon.
Je ne sais pas comment cela fonctionnerait si seuls les événements 'fin' étaient accrochés, car cela manquerait le début de la sortie du test. Pour utiliser de jolis formateurs et des exécuteurs de test des éditeurs basés sur IntelliJ comme exemples, ils fonctionnent comme suit :
Scenario: Foo
, en cas d'IntelliJ -- commentaire au format TeamCity #teamcity[testStarted]
pass/fail
ou ##teamcity[testFinished]
L'ordre est important car il faut avoir une instruction d'ouverture avant tout ce que le test enregistre et une instruction de fermeture après et aucun autre test ne doit enregistrer quoi que ce soit en parallèle, sinon ils confondront quelle sortie appartient à quel test. La mise en mémoire tampon semble s'en occuper car chaque sortie sera isolée et connectée au maître en opération atomique.
Nous pouvons passer une option isParallel
aux formateurs personnalisés pour leur faire savoir que la sortie des choses sur les événements de test-cas-started / test-step sera brouillée et qu'elles ne devraient donc sortir que sur les événements de test-case-finished.
Nous avons besoin de plus de discussions sur cette question. Actuellement, l'utilisation de n'importe quel formateur risque de faire planter le coureur de concombre en raison de conflits d'E/S lors de la tentative d'écriture sur un terminal. Le formateur de barre de progression serait idéal pour le coureur parallèle, s'il ne faisait que déplacer la barre et rapporter ensuite un résumé à la fin.
Le plan est de passer à des formateurs autonomes qui consomment un flux de messages provenant de concombre.
Voir feuille de route et dots-formatter
et pretty-formatter
(WIP) dans le monorepo
Nous avons beaucoup besoin de cette fonctionnalité !!!
Salut! Existe-t-il une possibilité d'exécuter Cucumber js en parallèle avec Allure Reporter ? Lorsque j'essaie d'exécuter avec cucumber-js --parallel 2 -t @debug --format reporter.js:./dummy.txt, je viens d'obtenir TypeError: Impossible de lire la propriété 'sourceLocation' de undefined
Merci d'avance!
Même problème que @yevgen-getalo ici.
La fermeture en tant que v7.0.0 utilise le nouveau protocole de messages mentionné ci-dessus, où les événements $THING_started
et $THING_finished
peuvent être liés de manière fiable via des identifiants. L'objet eventDataCollector.query
(une instance de @cucumber/query
) peut vous aider.
Commentaire le plus utile
Nous avons beaucoup besoin de cette fonctionnalité !!!