2016-06-20 8 views
1

Ich benutze Gurke mit Winkelmesser. Ist es in Gurke möglich, für die gleiche Methode mehr als eine Anmerkung zu haben ?? so etwas wie dieseGleicher Schritt hat mehr als eine Wenn/Dann

Zum Beispiel:

this.Given(/^I log in as user '([^']*)' with password '([^']*)'$/ 
this.When(/^I log in as user '([^']*)' with password '([^']*)'$/, function(username, password) 
{ 
} 
+0

Funktioniert das von Ihnen angegebene Beispiel für Sie? Wenn nicht, wie scheitert es? Vielen Dank. – alecxe

+0

Wenn die zweite Anmerkung verwendet wurde, funktioniert alles normal. Für den ersten bekomme ich TypeError: Kann nicht 'timeout' Eigenschaft von undefined bei nextTickCallbackWith0Args (node.js: 453: 9) bei process._tickCallback (node.js: 382: 13) – mosaad

+0

lesen Ah, Sie meinen es funktioniert 'When' aber nicht in' Given'? Vielen Dank. – alecxe

Antwort

0

Von Gurken Sicht gibt es keinen Unterschied betwen Given und Then. Die verschiedenen Schlüsselwörter dienen nur dazu, die Lesbarkeit der Datei .feature zu verbessern. Wenn Sie die Schritte implementieren, können Sie eine davon auswählen.

Persönlich würde ich nie zwei verschiedene Anmerkungen für die gleiche Methode betrachten. Eins ist ausreichend. Der Ort, an dem es wichtig ist, ist im Szenario und dort würde ich alles verwenden, was ich brauche.

Gleichzeitig bin ich aber daran interessiert, warum Sie beschreiben Sie System mit einem Given und einem Then Schritt, die eigentlich die gleiche Sache sind. Die Given ist, wo Sie das System im Test vorbereiten, die Then ist, wo Sie behaupten, dass das erwartete Ergebnis aufgetreten ist. Es ist überraschend für mich, dass sie in Ihrem Fall die gleiche Ausführung sind. Vielleicht gibt es einen Grund, aber im Moment scheint es mir seltsam.