Benutzerdefinierte Formatierer, die nur an test-run-finished
hängen, wie der JSON-Formatierer, funktionieren wie beabsichtigt, wenn sie parallelisiert werden, aber Formatierer, die frühere Ereignisse wie test-(step|case)-started
und geordnet sind, haben ihre Ausgabe außerhalb der Reihenfolge protokolliert, wodurch die Ausgabedokumentstruktur ungültig wird. Ist da irgendwas geplant, um dem entgegenzuwirken? Kann die Ausgabe auf Worker-Basen gepuffert und nach Abschluss auf einmal auf dem Master protokolliert werden?
Ich denke, jedes Ereignis sollte genügend Informationen enthalten, um es mit früheren Ereignissen verknüpfen zu können, anstatt es zu puffern.
Ich bin mir nicht sicher, wie das funktionieren würde, wenn nur 'End'-Ereignisse eingehakt sind, da dies den Anfang der Testausgabe verfehlen würde. Um hübsche Formatierer und Testläufer von IntelliJ-basierten Editoren als Beispiele zu verwenden, funktionieren sie wie folgt:
Scenario: Foo
, im Fall von IntelliJ -- Kommentar im TeamCity-Format #teamcity[testStarted]
pass/fail
Zusammenfassung oder ##teamcity[testFinished]
Die Reihenfolge ist wichtig, da die Eröffnungsanweisung vor allem steht, was der Test protokolliert, und die Abschlussanweisung danach und kein anderer Test sollte parallel dazu etwas protokollieren, oder sie verwechseln, welche Ausgabe zu welchem Test gehört. Die Pufferung scheint sich darum zu kümmern, da jeder Ausgang im atomaren Betrieb isoliert und auf dem Master protokolliert wird.
Wir können eine isParallel
Option an benutzerdefinierte Formatierer übergeben, um sie wissen zu lassen, dass die Ausgabe von Dingen bei testfallgestarteten / testschritt-Ereignissen durcheinander gerät und sie daher nur bei testfall-beendeten Ereignissen ausgegeben werden sollten.
Wir brauchen mehr Diskussion zu diesem Thema. Derzeit besteht bei der Verwendung eines beliebigen Formatierers die Gefahr, dass der Gurken-Runner aufgrund von E/A-Konflikten beim Versuch, auf ein Terminal zu schreiben, abstürzt. Für den Parallelläufer wäre der Fortschrittsbalken-Formatierer ideal, wenn er den Balken nur mitbewegt und dann am Ende eine Zusammenfassung ausgibt.
Wir brauchen diese Funktion sehr!!!
Hallo! Gibt es eine Möglichkeit, gurken js parallel zu allure reporter auszuführen? Wenn ich versuche, mit cucumber-js --parallel 2 -t @debug --format reporter.js:./dummy.txt auszuführen, habe ich gerade TypeError: Cannot read property 'sourceLocation' of undefined
Vielen Dank im Voraus!
Gleiches Problem wie @yevgen-getalo hier.
Das Schließen als v7.0.0 verwendet das oben erwähnte neue Nachrichtenprotokoll, bei dem $THING_started
und $THING_finished
Ereignisse zuverlässig über IDs verknüpft werden können. Das eventDataCollector.query
Objekt (eine Instanz von @cucumber/query
) kann dabei helfen.
Hilfreichster Kommentar
Wir brauchen diese Funktion sehr!!!