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?