Pytest: como pular o resto dos testes na aula se um falhar?
Estou criando os casos de teste para web-testes usando Jenkins, Python, Selenium2 (webdriver) e frameworks Py.test.
Até agora eu estou organizando meus testes na seguinte estrutura:
cadaClasse é oCaso de teste e cadatest_
método é umEtapa de teste.
Esta configuração funciona muito bem quando tudo está funcionando bem, no entanto, quando um passo trava o resto do "Passos de Teste" enlouquecer. Eu sou capaz de conter a falha dentro da classe (caso de teste) com a ajuda deteardown_class()
No entanto, estou procurando como melhorar isso.
O que eu preciso é de alguma forma pular (ou xfail) o resto dotest_
métodos dentro de uma classe se um deles falhar, de forma que o restante dos casos de teste não seja executado e marcado como FAILED (pois isso seria falso positivo)
Obrigado!
ATUALIZAR: Eu não estou olhando ou a resposta "é má prática", já que chamar assim é muito discutível. (cada classe de teste é independente - e isso deve ser suficiente).
ATUALIZAÇÃO 2: Colocar "se" condição em cada método de teste não é uma opção - é um monte de trabalho repetido. O que eu estou procurando é (talvez) alguém sabe como usar oganchos aos métodos de classe.