Hintergrund
Gurke Feature-Dateien sind alle über die Konversations Lücke zwischen dem Unternehmen überbrücken und dem Entwicklungsteam und damit Code und bedingten Anweisungen sollen nie in sie erscheinen.
Die Lösung
Die Lösung für Ihr Problem ist, wie Sie die Schrittdefinition schreiben.
Mit Gurke der Ruby-Implementierung als Beispiel:
When('I select the Raise Invoice Type as "$invoice_type"') do | invoice_type |
if invoice_type == 'ABC'
method_abc
else
if invoice_type == 'XYZ'
method_xyz
else
raise 'Unknown invoice type'
end
end
end
Dieser den Code und bedingte Anweisungen aus der Feature-Datei bringt, die im Wesentlichen ist gemeint Dokumentation der Verhaltensweisen zu leben der Anmeldung/System
Weitere Verbesserungen
Aber ich würde sogar so weit gehen, den Wortlaut des st sich ändern ep zu:
Scenario Outline: Raise Invoice by User according to Raise Invoice Type.
When I raise the invoice type "<invoice_type>"
Then some expected behaviour
Examples:
| invoice_type |
| ABC |
| XYZ |
Dies bringt den Schritt von der Umsetzung entfernt (die Drop-Down-sein könnte, Radio oder Textfelder zum Beispiel), und mehr in Richtung Verhalten des Systems an Ort und Stelle - das Merkmal, dass dieses Szenario hervorzuheben ist, dass Sie sollten in der Lage sein, eine Rechnung zu erstellen, nicht, dass Sie eine Liste mit Optionen haben sollten, aus denen Sie in einem Auswahlfeld auswählen können.
zeigen uns die Schrittdefinition –