0

我正在使用 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 ?谢谢您的帮助

4

1 回答 1

0

你的my_pretty_table_string存储和生成在哪里?

请为您的问题提供更多详细信息,以便我们提供帮助:)

pytest_html_results_table_html从钩子中获取report对象。pytest_runtest_makereport因此,您需要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>

然后你可以report.my_datapytest_html_results_table_html钩子中访问。

亚历克斯

于 2017-12-05T11:09:22.683 回答