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?

questionAnswers(2)

yourAnswerToTheQuestion