W którym wywołaniu py.test mogę znaleźć dane „element” i „raport”?

pytest_runtest_makereport () pobiera dwa argumenty, element i wywołanie. Od pozycji mogę znaleźć funcarg, który stworzyłem dla tego testu, a od połączenia mogę znaleźć informacje o wyjątku (jeśli istnieją):

def pytest_runtest_makereport (item, call):
    my_funcarg = item.funcargs['name']
    my_funcarg.excinfo = call.excinfo

Niestety excinfo jest wypełniane zarówno dla błędów, jak i dla pominięć. Aby odróżnić, muszę spojrzeć na argument raportu na 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

To świetna informacja, ale nie mogę jej skorelować z funcargem, który stworzyłem na potrzeby testu. Sprawdziłem argument raportu (raport TestReport) i nie mogę znaleźć żadnego sposobu, aby wrócić do elementu przekazanego do pytest_runtest_makereport () lub funcarg, który stworzyłem.

Gdzie mogę uzyskać dostęp do obu?

questionAnswers(2)

yourAnswerToTheQuestion