Sto usando pytest con selenio per automatizzare un sito web. Voglio prendere qualche schermata solo quando un caso di test fallisce. Ho già usato TestNG e con TestNG è abbastanza ad est usando l'ITestListner. Abbiamo qualcosa del genere in pytest.Come rilevare quando il test test di pytest è fallito?
Ho cercato di ottenere ciò utilizzando il metodo teardown_method() Ma questo metodo non viene eseguito quando un caso di test ha esito negativo.
import sys
from unittestzero import Assert
class TestPY:
def setup_method(self, method):
print("in setup method")
print("executing " + method.__name__)
def teardown_method(self, method):
print(".....teardown")
if sys.exc_info()[0]:
test_method_name = method
print test_method_name
def test_failtest(self):
Assert.fail("failed test")
teardown_method()
vengono eseguiti solo quando non ci sono fallisce
controllare i ganci più piccoli: https://pytest.org/latest/example/simple.html#post-process-test-reports-failures –
@KirilS. grazie per la risposta, ho provato anche quello e sembra che non funzioni. Ho il codice utente da "Creazione di informazioni sui risultati del test disponibili nelle fixture" e il mio [codegist] (https://gist.github.com/pr4bh4sh/29ca4da983d411bb2178) – pr4bh4sh