Как добавить пользовательский вывод журнала в отчет из тестового метода?
Мне нужно добавить пользовательские сообщения в отчет HTML. Я могу сделать это из ловушки pytest_runtest_makereport, но я хочу добавить некоторые данные из моего метода тестирования.
conftest.py:
@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
pytest_html = item.config.pluginmanager.getplugin('html')
outcome = yield
report = outcome.get_result()
extra = getattr(report, 'extra', [])
if report.when == 'call':
extra.append(pytest_html.extras.html('<p>step 1</p>'))
extra.append(pytest_html.extras.html('<p>step 2</p>'))
extra.append(pytest_html.extras.html('<p>step 3</p>'))
extra.append(pytest_html.extras.html('<p>step 4</p>'))
extra.append(pytest_html.extras.html('<p>step 5</p>'))
report.extra = extra
@mark.first_feature
class FirstFeatureTests:
report = ''
def appendStringToReport(self, report, message):
report += "<p> " + message + " </p>"
@mark.sanity
@mark.regression
@mark.example
def test_1_first_feature(self, init_environment):
self.appendStringToReport(self.report, "step 1")
self.appendStringToReport(self.report, "step 2")
self.appendStringToReport(self.report, "step 3")
self.appendStringToReport(self.report, "step 4")
assert True
Как я могу передать строку "report" из моего тестового класса в ловушку pytest_runtest_makereport?
Я буду признателен за любую помощь, спасибо.