2

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"
4

1 に答える 1

1

この問題は、ラベルを pytest_configure フックの 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"
于 2021-06-26T05:44:05.373 に答える