通过阅读docs,我发现测试类完成后的最新挂钩是
pytest_runtest_logfinish
。但是,当我实现该挂钩并使用调试器时,我看到 XML 文件(由 --junitxml
指定)尚未创建。
我想这样做的原因是因为我想自动将 XML 文件存档到我的私有 CI 系统(不同的主机),但我需要访问该 XML 文件。
对我不起作用的方法:
report
对象
pytest_runtest_logreport
钩子,但这不能满足我的需求(除非我可以从这里强制输出XML文件)。
我需要完整的 XML 文件。我已经让其他一切正常工作,我只想能够在 pytest 本身中做到这一点。有没有办法强制创建 XML 文件或在创建报告后注入我的逻辑?还有其他建议吗?
谢谢!!
丹是正确的。
我误解了
pytest_sessionfinish
钩子。它确实创建了报告,并且被认为是返回整个过程的返回代码之前的最后一步。我能够在这里注入我的逻辑。
谢谢!