2017-01-17 2 views
0

Ich schreibe eine Schrittdefinition für eine behat, in dem ich überprüfen muss, ob Array leer ist und wenn Array nicht leer ist, drucken Sie das Array und den Schritt fehl. Um dies zu tun, habe ich folgenden Code in der Schrittdefinition geschrieben.Continue Behat Ausführung auf Ausnahme

Derzeit, wenn eine Ausnahme angezeigt wird, stoppt sie die Ausführung und führt keine zukünftigen Szenarien aus.

+0

Können Sie die Stack-Trace der Ausnahme hinzufügen? Die einzige Möglichkeit, die anderen Szenarien nicht auszuführen, ist, wenn Sie einen schwerwiegenden php-Fehler erhalten. – lauda

Antwort

0

Sie können nur einen Schritt aus dem gesamten Szenario nicht fehlschlagen.

Wenn einer der Schritte eines Szenarios fehlschlägt, schlägt das Szenario fehl, und die restlichen Schritte des Szenarios werden nicht ausgeführt, da der Rest der Schritte die vorherigen Aktionen fortsetzen sollte.

Bitte überprüfen Sie die Logik des Szenarios und überprüfen Sie die behat/bdd-Dokumentation.

+0

Hey @lauda, ​​ich versage das Szenario selbst. Sobald das Szenario fehlgeschlagen ist, möchte ich die Skriptausführung für andere Szenarien fortsetzen. –

0

Jeevan, Behat stoppt die Skriptausführung nicht, wenn ein oder mehrere Szenarien in einer Feature-Datei fehlschlagen. Wenn beispielsweise eine Feature-Datei "test.feature" über 10 Szenarien verfügt, werden alle Szenarios kontinuierlich ausgeführt, auch wenn Szenario 2 fehlschlägt, wenn Sie den Befehl zum Ausführen der gesamten Feature-Datei als behit features/test.feature ausgeführt haben.
Am Ende würden Sie die Zusammenfassung wie im Screenshot beigefügt sehen.

Results summary