Я создаю тестовые примеры для веб-тестов с использованием Jenkins, Python, Selenium2 (webdriver) и фреймворков Py.test.
Пока я организую свои тесты в следующей структуре:
каждый Класс является Test Case, и каждый test_
метод - это Шаг теста.
Эта настройка работает БОЛЬШОЕ, когда все работает нормально, однако когда один шаг разбивается, остальные "тестовые шаги" сходят с ума. Я могу содержать сбой внутри класса (тестовый пример) с помощью teardown_class()
, однако я изучаю, как улучшить это.
Мне нужно как-то пропускать (или xfail) остальные методы test_
в пределах одного класса, если один из них потерпел неудачу, так что остальные тестовые примеры не выполняются и помечены как FAILED (так как это быть ложным)
Спасибо!
ОБНОВЛЕНИЕ: Я не ищу или не отвечаю "плохая практика", так как называть его таким образом очень сложно. (каждый тестовый класс независим - и этого должно быть достаточно).
ОБНОВЛЕНИЕ 2: Включение условия "если" в каждом тестовом методе не является вариантом - это многократная повторная работа. Я ищу (может быть) кто-то знает, как использовать hooks для методов класса.