Obwohl ich Unit-Tests für 20 oder mehr Jahre geschrieben habe, bin ich neu bei Gherkin und habe die Aufgabe, eine Story für eine .feature-Datei zu implementieren, die sich auf Folgendes reduziert:Gurke - Aufrechterhaltung des Zustands zwischen den Szenarien
Das heißt, eine lange, lange Kette von Szenarien, jede abhängig von dem Zustand des Systems wie von seinem Vorgänger konfiguriert.
Das fühlt sich für jemanden, der an Komponententests gewöhnt ist, nicht richtig an - aber diese Szenarien werden nicht getrennt und separat ausgeführt.
Was ist die beste Vorgehensweise hier?
Sollte ich in ein sehr langes Szenario umschreiben?
Ich verwende bereits ein 'Seitenobjekt', um den größten Teil meines Codes aus den Schrittdefinitionen herauszuhalten - sollte ich die Schritte als einzelne Aufrufe codieren, die in späteren Szenarien wiederverwendet werden können?
Ich führe Gurke in Javascript.
Ich stimme zu 99.99% der Zeit mit Ihnen überein. Für die 0,01% der Zeit, die Sie denken, dass es OK ist, den Zustand aus einem früheren Szenario zu verwenden, stimme ich nicht zu. Nur meine dogmatische Meinung. Dieser Status erfordert, dass die Szenarien in einer bestimmten Reihenfolge und nicht in einem Raster ausgeführt werden. –
Das einzige Mal, ich würde es empfehlen, wenn Sie noch die Schrittdefinition für das vorherige Szenario entwickeln, so dass das neue Szenario immer noch in der CI übergibt. In einer perfekten Welt wird die Schrittdefinition für das vorherige Szenario geschrieben, es kann jedoch der Fall sein, dass Sie einen Junior Tester haben, frisch von der Universität, der die Dateien schreibt, der die Sprache vielleicht nicht vollständig versteht. Nachdem die Schrittdefinition erstellt wurde oder das vorherige Szenario in einen Hintergrund umgewandelt wurde, wird es veraltet und wird daher in die _korrekte_ Vorgehensweise geändert. –
Danke, @KyleFairns - Ich habe die Frage bearbeitet, um zu betonen, dass das Feature eine sehr lange Kette von Szenarios hat, jede davon abhängig vom Vorgänger. – LeeGee