Ich suche nach einer Möglichkeit, alle meine Komponententests in PyTest auszuführen, selbst wenn einige von ihnen fehlschlagen. Ich weiß, dass es einen einfachen Weg dafür geben muss. Ich habe die CLi-Optionen überprüft und auf dieser Site nach ähnlichen Fragen/Antworten gesucht, aber nichts gesehen. Es tut uns leid, wenn dies bereits beantwortet wurde.Wie werden alle PyTest-Tests ausgeführt, selbst wenn einige fehlschlagen?
Betrachten wir zum Beispiel den folgenden Code-Schnipsel, mit PyTest Code daneben:
def parrot(i):
return i
def test_parrot():
assert parrot(0) == 0
assert parrot(1) == 1
assert parrot(2) == 1
assert parrot(2) == 2
Standardmäßig stoppt die Ausführung bei der ersten Ausfall:
$ python -m pytest fail_me.py
=================== test session starts ===================
platform linux2 -- Python 2.7.10, pytest-2.9.1, py-1.4.31, pluggy-0.3.1
rootdir: /home/npsrt/Documents/repo/codewars, inifile:
collected 1 items
fail_me.py F
=================== FAILURES ===================
___________________ test_parrot ___________________
def test_parrot():
assert parrot(0) == 0
assert parrot(1) == 1
> assert parrot(2) == 1
E assert 2 == 1
E + where 2 = parrot(2)
fail_me.py:7: AssertionError
=================== 1 failed in 0.05 seconds ===================
Was ich möchte Das Ausführen des Codes wird auch dann fortgesetzt, wenn PyTest den ersten Fehler erkennt.
Siehe auch [diese Frage] (https://stackoverflow.com/q/4732827/102441) für "unittest", was mit einer Reihe von sehr ähnlichen Fragen verbunden ist – Eric