我正在使用pytest0html生成我的HTML报告。我的测试记录测试了值,在成功的情况下,我需要显示一个具有相当尺寸的值的表。我认为我需要实现此钩子:
@pytest.mark.optionalhook
def pytest_html_results_table_html(report, data):
if report.passed:
del data[:]
data.append(my_pretty_table_string)
# or data.append(report.extra.text)
但是如何将my_pretty_table_string传递到钩函数或如何从我的测试功能中编辑report.extra.text?谢谢您的帮助
您的my_pretty_table_string
在哪里存储和生成?
请为您的问题提供更多详细信息,以便我们可以提供帮助:)
pytest_html_results_table_html
从pytest_runtest_makereport
钩获取report
对象。因此,您需要实现pytest_runtest_makereport
以将数据添加到"呼叫"步骤中的结果中。
@pytest.mark.hookwrapper
def pytest_runtest_makereport(item, call):
outcome = yield # get makereport outcome
if call.when == 'call':
outcome.result.my_data = <your data object goes here>
然后您可以在pytest_html_results_table_html
钩中访问report.my_data
Alex