Pytest: jak pominąć pozostałe testy w klasie, jeśli się nie powiodło?

Tworzę przypadki testowe do testów internetowych przy użyciu frameworków Jenkins, Python, Selenium2 (webdriver) i Py.test.

Do tej pory organizuję moje testy w następującej strukturze:

każdyKlasa jestPrzypadek testowy i każdytest_ metoda jestKrok testowy.

Ta konfiguracja działa WSPANIAŁO, gdy wszystko działa prawidłowo, jednak gdy jeden krok ulega awarii, reszta „Test Steps” oszaleje. Jestem w stanie powstrzymać awarię wewnątrz klasy (przypadek testowy) za pomocąteardown_class(), jednak zastanawiam się, jak to poprawić.

Potrzebuję jakoś pominąć (lub xfail) resztętest_ metody w ramach jednej klasy, jeśli jeden z nich zawiódł, tak że pozostałe przypadki testowe nie są uruchamiane i oznaczone jako NIEUDANE (ponieważ byłoby to fałszywie dodatnie)

Dzięki!

AKTUALIZACJA: Nie szukam ani odpowiedzi „to zła praktyka”, ponieważ nazywanie tego w ten sposób jest bardzo dyskusyjne. (każda klasa testowa jest niezależna - i to powinno wystarczyć).

AKTUALIZACJA 2: Umieszczenie warunku „jeśli” w każdej metodzie testowej nie wchodzi w grę - to DUŻO powtarzających się prac. To, czego szukam, to (być może) ktoś wie, jak korzystać zhaczyki do metod klasowych.

questionAnswers(9)

yourAnswerToTheQuestion