Ist es möglich, ein Feature als "Given" für ein anderes Feature zu verwenden?

8

Ist es möglich, ein Feature als "Gegeben" für ein anderes Feature zu verwenden?

Oder versuche ich etwas zu tun, was ich nicht versuchen sollte

Grundsätzlich sehen meine Features so aus:

%Vor%

Ich lösche meine DB nach jeder Funktion, da sie alle einzeln ausgeführt werden können ...

Gehe ich das falsch herum?

Danke

    
Michael Baldry 30.05.2012, 08:36
quelle

2 Antworten

7

Das Problem

Was Sie eigentlich versuchen, ist die Wiederverwendung eines Szenarios. Dies wird in Gurke nicht mehr unterstützt .

Abgesehen von anderen Problemen mit diesem Ansatz werden Ihre Tests langsamer und voneinander abhängig sein, da Sie sein werden:

  1. Erstellen eines Kontos über einen Browser und
  2. macht alle Ihre Tests abhängig von der Weitergabe des Kontotyps.

Tu das nicht.

Der Gurken-Weg

Im Allgemeinen sollten Sie Ihre Tests schreiben, um unabhängig zu arbeiten, obwohl Sie Schrittdefinitionen sicher wiederverwenden können. Also, im allgemeinen Fall möchten Sie möglicherweise gemeinsame Schritte wie hinzufügen:

  1. Da der Benutzer "Test User" nicht existiert
  2. Vorausgesetzt, dass das Benutzerkonto "Test User" existiert

kann dann bei Bedarf in Ihre Szenarien eingefügt werden. Das Schöne an diesem Ansatz ist, dass die Schritte Benutzer programmgesteuert erstellen oder löschen können.

Alternativ, wenn die meisten Ihrer Tests auf bestehenden Konten ausgeführt werden, richten Sie den Standarddatensatz mit den richtigen Benutzer-Fixtures ein, die bereits vorhanden sind. Für die begrenzte Teilmenge, in der Sie die Kontoerstellung testen möchten, fügen Sie einfach einen ​​Szenariohintergrund hinzu, der das Löschen von Benutzern vorantreibt.

    
Todd A. Jacobs 30.05.2012, 08:59
quelle
0

Falls Sie Javascript verwenden, habe ich ein Paket namens reuse-gurk-scenes erstellt um ein Szenario aufzurufen, indem Sie Folgendes tun:

%Vor%

und:

%Vor%     
Virgomax 25.03.2018 04:57
quelle

Tags und Links