Pytest: Wie überspringe ich den Rest der Tests in der Klasse, wenn einer fehlgeschlagen ist?

Ich erstelle die Testfälle für Web-Tests mit Jenkins, Python, Selenium2 (Webdriver) und Py.test Frameworks.

Bisher organisiere ich meine Tests in der folgenden Struktur:

jederKlasse ist derTestfall und jedetest_ Methode ist einTestschritt.

Dieses Setup funktioniert hervorragend, wenn alles in Ordnung ist. Wenn jedoch ein Schritt abstürzt, werden die restlichen "Testschritte" verrückt. Mit Hilfe von kann ich den Fehler in der Klasse (Testfall) eindämmenteardown_class()Ich suche jedoch nach Möglichkeiten, dies zu verbessern.

Was ich brauche, ist irgendwie überspringen (oder xfail) den Rest dertest_ Methoden innerhalb einer Klasse, wenn eine von ihnen fehlgeschlagen ist, so dass der Rest der Testfälle nicht ausgeführt und als FEHLGESCHLAGEN markiert wird (da dies falsch positiv wäre)

Vielen Dank!

AKTUALISIEREN: Ich schaue nicht oder die Antwort "Es ist schlechte Praxis", da es sehr umstritten ist, es so zu nennen. (Jede Testklasse ist unabhängig - und das sollte reichen).

UPDATE 2: Das Setzen einer "Wenn" -Bedingung in jeder Testmethode ist keine Option - es ist eine Menge wiederholter Arbeit. Ich suche (vielleicht) jemanden, der weiß, wie man das benutztHaken zu den Klassenmethoden.

Antworten auf die Frage(9)

Ihre Antwort auf die Frage