我想以以下方式包装 pytest-html 插件:
我可以添加实现该pytest_addoption(parser)功能的选项,但在第二件事上遇到了困难......
pytest_addoption(parser)
我能做的是:实现一个来自 pytest-html 的钩子。但是,我必须访问我的选项 X,才能执行要执行的操作。问题是,pytest-html 的钩子没有将“请求”对象作为参数提供,因此我无法访问选项值…
我可以为钩子添加额外的参数吗?或者类似这样?
您可以将附加数据附加到报告对象,例如通过钩子周围的自定义包装器pytest_runtest_makereport:
pytest_runtest_makereport
@pytest.hookimpl(hookwrapper=True) def pytest_runtest_makereport(item, call): outcome = yield report = outcome.get_result() report.config = item.config
现在config可以通过所有报告挂钩访问该对象report.config,包括pytest-html:
config
report.config
pytest-html
def pytest_html_report_title(report): """ Called before adding the title to the report """ assert report.config is not None