创建 junit XML 结果文件后,我可以访问 pytest 挂钩来注入我的逻辑吗?

问题描述 投票:0回答:1

通过阅读docs,我发现测试类完成后的最新挂钩是

pytest_runtest_logfinish
。但是,当我实现该挂钩并使用调试器时,我看到 XML 文件(由
--junitxml
指定)尚未创建。

我想这样做的原因是因为我想自动将 XML 文件存档到我的私有 CI 系统(不同的主机),但我需要访问该 XML 文件。

对我不起作用的方法:

  1. 我可以从以下位置访问
    report
    对象
    pytest_runtest_logreport
    钩子,但这不能满足我的需求(除非我可以从这里强制输出XML文件)。 我需要完整的 XML 文件。
  2. 我可以在 pytest 进程退出后将其作为第二个命令上传,但我希望我的用户能够自动获取它,而无需进行设置。

我已经让其他一切正常工作,我只想能够在 pytest 本身中做到这一点。有没有办法强制创建 XML 文件或在创建报告后注入我的逻辑?还有其他建议吗?

谢谢!!

python python-3.x testing pytest
1个回答
0
投票

丹是正确的。

我误解了

pytest_sessionfinish
钩子。它确实创建了报告,并且被认为是返回整个过程的返回代码之前的最后一步。我能够在这里注入我的逻辑。

谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.