Pytest: как пропустить остальные тесты в классе, если один провалился?
Я создаю тестовые случаи для веб-тестов с использованием фреймворков Jenkins, Python, Selenium2 (webdriver) и Py.test.
Пока я организую свои тесты в следующей структуре:
каждыйClass этоTest Case и каждыйtest_
method этоTest Step.
Эта настройка работает ОТЛИЧНО, когда все работает нормально, однако, когда один шаг завершается сбоем, остальные "Тестовые шаги" сходить с ума. Я могу сдержать сбой внутри класса (контрольного примера) с помощьюteardown_class()
Однако я смотрю, как это улучшить.
Что мне нужно, так это как-то пропустить (или xfail) остальную частьtest_
методы в одном классе, если один из них потерпел неудачу, так что остальные тестовые примеры не выполняются и помечаются как FAILED (так как это будет ложно-положительным)
Спасибо!
UPDATE: Я не ищу или ответ "это плохая практика" так называя его, что путь очень спорно. (каждый тестовый класс независим - и этого должно быть достаточно).
UPDATE 2: Помещение & quot; если & quot; Условие в каждом методе испытаний не является опцией - это много повторной работы. Я ищу (может быть), кто-то знает, как использоватькрючки к методам класса.