2016-10-19 2 views
0

Ich habe einen Verhaltenstest, in dem ich möchte, dass ein Teil der Daten in einer Verhaltenstabelle erzeugt wird, nachdem ein Schritt ausgeführt wurde. Z.B.Generiere Daten für Verhaltenstabellen in der Laufzeit

Given I have a step 
When I executed some other step 
Then the message should have the following data 
    | field | value | 
    | a  | 20 | 
    | b  | 30 | 
    | var | <val> | 

Sobald der when Schritt ausgeführt wurde, würde Ich mag <val> auf einen Wert ändern, auf diesem Schritt abhängig.

+0

Warum würden Sie das brauchen? Wie könnte jemand, der es liest, ein solches Szenario interpretieren? Vielleicht könntest du eine zusätzliche Zeile verwenden, anstatt sie in die Tabelle einzufügen. Beispiel: "Dann sollte die Variable in der Nachricht mit der magischen Zahl übereinstimmen, die von wer-weiß-wohin kommt" –

+0

@SzaboPeter Was ich meine, war, dass du schreiben würdest die Feature-Datei wie diese, aber dann die Protokollierung auf der Konsole (und die JUnit XML generiert) würde den Wert haben. Ich bin mir nicht sicher, aber ich denke, das ist ähnlich zu modellbasiertem Testen – nnja

Antwort

1

Wahrscheinlich können Sie diese beiden Schritte zusammen kombinieren und in diesem Schritt:

  1. tun, was für Sie tun, um Ihre ‚wenn‘ Schritt
  2. ein context.execute_steps mit Parametern tun, zum Beispiel:

context.execute_steps(u'''Then doing something with "you_parameters"'''.format(you_parameter=value)

Und natürlich können Sie tun context.execute_steps mit einer Tabelle, die die Daten, die Sie

erzeugt
+0

Genau das, was ich gesucht habe ... – nnja

Verwandte Themen