Em qual callout py.test posso encontrar os dados 'item' e 'report'?
pytest_runtest_makereport () recebe dois argumentos, item e chamada. Do item, posso encontrar o funcarg que criei para esse teste e, a partir da chamada, posso encontrar as informações de exceção (se houver):
def pytest_runtest_makereport (item, call):
my_funcarg = item.funcargs['name']
my_funcarg.excinfo = call.excinfo
Infelizmente, o excinfo é preenchido para falhas e para saltos. Para distinguir, preciso examinar o argumento do relatório para pytest_report_teststatus ():
def pytest_report_teststatus (report):
if report.when == 'call':
if report.failed:
failed = True
elif report.skipped:
skipped = True
else:
passed = True
Isso é uma ótima informação, mas não posso correlacioná-la com o funcarg que criei para o teste. Eu olhei para o argumento report (um relatório TestReport), e não consigo encontrar nenhuma maneira de voltar para o item passado para pytest_runtest_makereport (), ou o funcarg que eu criei.
Onde posso obter acesso a ambos?