Ich habe 2 sehr unterschiedliche Behat Profile:Run 2 Behat Profile mit unterschiedlichen Funktionen in 1 Ergebnis
simple:
suites:
default:
contexts:
- rdx\behatvars\BehatVariablesContext
- SimpleFeatureContext
extensions:
rdx\behatvars\BehatVariablesExtension: ~
proxy:
suites:
default:
contexts:
- ProxyFeatureContext
simple
lädt einen lokalen Kontext, proxy
Lasten der anderen. simple
muss die Erweiterung haben, proxy
muss nicht.
Kombiniert führen sie Tests durch, die vollständig bestehen sollten. Zur Zeit, das ist mein run-tests
Skript:
vendor/bin/behat --profile=proxy --format-settings='{"paths":false}' features/proxy.feature &&
echo &&
vendor/bin/behat --profile=simple --format-settings='{"paths":false}' features/simple.feature
Es ist nicht nur hässlich, es nicht richtig funktioniert. Das &&
stellt sicher, dass das richtige Ergebnis an den Aufrufer run-tests
weitergeleitet wird, aber sie bedeuten auch, dass der 2. Test nicht ausgeführt wird, wenn der erste Test fehlschlägt.
Wie halte ich beide:
- Beide Tests müssen
- Der Exit-Code ausführen muss der letzte fehlschlagen (oder
1
wenn überhaupt ausfällt)
Ich will nicht machen run-tests
komplizierter, so ist dies mehr eine Behat Frage als Bash. Kann ich Behath sagen, dass er 2 Profile mit separaten Funktionen ausführen und das kombinierte Ergebnis zurückgeben soll?
Das macht das Testskript komplizierter. Ich suche eine Behat Lösung. – Rudie
Wenn das Skript von Bash analysiert wird, sehe ich keine Möglichkeit, Ihr vorhandenes Skript zu dem zu machen, wonach Sie fragen. Ich denke auch nicht, dass das komplizierter ist. Dies erstreckt sich leicht auf weitere Tests und ist leicht zu verstehen, sobald Sie die Grundidee geklärt haben. – tripleee
Ich bin mit Behat jedoch völlig unbekannt. Die unheilige Mischung aus YAML und JSON, die ich oben gesehen habe, lässt mich denken, dass es vielleicht besser ist; aber natürlich ist diese Antwort eine Aufnahme im Dunkeln, und wenn Sie nicht denken, dass es überhaupt geeignet ist, werde ich mehr als glücklich sein, es zu löschen. – tripleee