是否可以在超时时生成pytest HTML报告?

时间:2018-11-19 13:54:24

标签: python pytest pytest-html

我正在使用pytest,并且希望以一种优美的方式组合两个插件,pytest-htmlpytest-timeout。我在Windows上运行,因此必须使用从pytest-timeout超时的线程方法,这将导致所有测试停止。我希望在这种情况下从pytest-html中生成一个html,但是由于中断引起的层次结构问题,无法确定其合理性。

更新,到目前为止的进展: 我在conftest.py中添加了一个函数,该函数在每个测试用例之前手动生成html,并带有当时存在的会话数据。这是一种在超时之前生成html的round回方法,而不是仅在测试结束时生成,只是因为html在整个过程中都在不断地生成。

@pytest.fixture(scope='function', autouse=True)
def test_blackbox(request):
    session = request.node
    html = request.config._html
    report_content = html._generate_report(session)
    html._save_report(report_content)

我可以向timeout_timer的{​​{1}}方法添加类似的代码,该方法是在计时器线程用完时调用的函数,但我想避免直接编辑插件本身。完成原始任务后,我会回答。

0 个答案:

没有答案