2016-07-11 2 views
2

Ich möchte PHPUnit scheitern, wenn ein oder mehrere Tests als riskant angesehen werden. Eigentlich:Wie man PHPUnit bei riskanten Tests scheitern lässt

PHPUnit 5.3.4 by Sebastian Bergmann and contributors. 

..RRR..               7/7 (100%) 

Time: 2.83 seconds, Memory: 26.00Mb 

OK, but incomplete, skipped, or risky tests! 
Tests: 7, Assertions: 137, Risky: 3. 

Er sagt: „OK, aber unvollständig“, so meine Tests nicht scheitern (und können bei kontinuierlicher Lieferung versandt werden). Gibt es eine Möglichkeit, einen "Fail" Status zu haben? Ich möchte, dass mein globaler Teststatus bei riskanten Tests als fehlgeschlagen gilt. Ich weiß nicht, ob es möglich ist.

+0

vereinbart, dies ist sehr ärgerlich, da frühere Versionen DID bei riskanten Tests im strikten Modus fehlschlagen (oder zumindest, wenn die Ausgabe durch einen Test generiert wurde) – thehpi

Antwort

1

Es gibt eine --stop-on-risky Option, die über die Befehlszeile aktiviert oder in phpunit.xml konfiguriert werden kann.

Das Problem dabei ist, dass der Laufprozess nicht alle Tests ausführen wird. Ich bin mir nicht bewusst, dass riskante Tests als gescheitert betrachtet werden.

Das Verhalten Sie wurde vorgeschlagen, erhalten, wollen aber nicht akzeptiert, also nicht erwarten, umgesetzt werden:

https://github.com/sebastianbergmann/phpunit/issues/1612

3

können Sie die --fail-on-risky Flag verwenden, wenn die PHPUnit ausführbare Aufruf, oder setzen Sie den failOnRisky="true" Attribut zum <phpunit> Element in phpunit.xml.

Im Gegensatz zu --stop-on-risky/stopOnRisky="true" dieser wird die Testsuite nicht stoppen, wenn PHPUnit einen riskanten Test trifft, aber es wird PHPUnit Ausgang mit einem Nicht-Null-Statuscode machen, wie wäre es, wenn einer der Tests fehlschlägt.

Verwandte Themen