2014-03-28 7 views
5

So,JBehave markiert die Schritte als "ausstehend" nach der Sekunde "und"

Ich habe ein seltsames Verhalten mit JBehave. Ich habe ein Szenario, wo ich eine StepDef Struktur wie die folgenden Voraussetzungen:

Given some precondition 
When something happens 
And something else happens 
And yet something else happens 
And still one more thing happens 
And one more 
Then I expect some result 

Soweit ich weiß, ist dies eine gültige Syntax für ein Szenario Stepdefinition. JBhave markiert jedoch alles aus dem zweiten "Und" als "Pending". Wenn ich die Reihenfolge der "Und" -Anweisungen ändere, wird immer das erste "Und" ausgeführt und "Anstehend" beginnend mit dem dritten. Wenn ich es so schreibe es funktioniert gut:

Given some precondition 
When something happens 
When something else happens 
When yet something else happens 
When still one more thing happens 
When one more 
Then I expect some result 

Es scheint, als ob meine Konfiguration die Menge an aufeinander folgenden ist die Begrenzung „und“ Aussagen, die interpretiert werden können. Jedoch scheint ich das Problem nicht zu finden. Was mache ich hier falsch?

+0

Können Sie eine [SSCCE] (http://www.sscce.org/) mit den Methoden '@ Given',' @ When' und '@ Then' versehen, die für die Ausführung Ihres BDD-Szenarios erforderlich sind Verhalten, das du beobachtest? –

+0

Ich müsste den gesamten Arbeitsbereich hochladen. Ich werde sehen, ob ich eine "kleinere" bauen kann, die den Fehler repliziert. Ich weiß nicht, ob ich das Bounty dann "wiedereröffnen" kann, aber ich werde es versuchen ... – Martin

+0

Es würde dich einen weiteren -100 Mann kosten, ein anderes Kopfgeld anzubieten. Es ist deine Entscheidung, aber ich werde versuchen, trotzdem zu helfen. Ich benutze JBehave mit Sequenzen von "And ..." und es funktioniert für mich, also bin ich neugierig auf deinen Fall. –

Antwort

0

Viele Dinge können die "ausstehende" Nachricht verursachen. Ich habe gesehen, dass versteckte Leerzeichen (Leerzeichen) den Fehler verursachen, wenn sie in der .story-Datei, aber nicht in der Methode der entsprechenden Schrittdatei enthalten sind. Wenn Sie die zweite Beispielstory mit allen "When" -Anweisungen haben, nehmen Sie diese exakte Storydatei und ändern Sie NUR die "Wann" zu "Und" (außer der ersten natürlich). Das würde die Möglichkeit beseitigen, dass es Leerzeichen ist. Ich nehme an, Sie wissen, dass in jedem Fall alle Schritte mit @When ("...") beginnen würden (nur versuchen, alle Optionen zu beseitigen). Zeigen Sie uns einfach die Methodenkopfzeilen für jeden oben aufgeführten Schritt - wir müssen den zugrunde liegenden Code nicht sehen.

Verwandte Themen