我想在pytest-html报告标题中指明pytest测试执行标记,我正在尝试如下所示的方法。它不起作用。
conftest.py
#add test execution mark as a 'label' field to the report
@pytest.hookimpl(hookwrapper=True)
def pytest_runtest_makereport(item, call):
pytest_html = item.config.pluginmanager.getplugin("html")
outcome = yield
report = outcome.get_result()
if item.config.getoption("-m"):
report.label = item.config.getoption("-m")
#add 'label' field to the title
def pytest_html_report_title(report):
mark = report.label if hasattr(report, "label") else ""
report.title = f"My Software: {mark} Test Report"发布于 2021-06-26 05:44:05
通过在pytest_configure钩子中将label作为一个属性添加到pytest中,解决了这个问题:
#add test execution mark as a 'label' field to the pytest namespace
def pytest_configure(config):
pytest.label = config.getoption("-m")
#add 'label' field to the title
def pytest_html_report_title(report):
report.title = f"My Software: {pytest.label} Test Report"https://stackoverflow.com/questions/68084501
复制相似问题