微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我可以将mypy报告与pytest覆盖率报告合并吗?

如何解决我可以将mypy报告与pytest覆盖率报告合并吗?

我可以通过{p> 3使用mypy生成类型“覆盖”报告

mypy . --html-report mypy-report

以及包含pytest-cov的pytest覆盖率报告

pytest --cov=app --cov-report=html

是否可以合并两个报告?我会对单元测试或mypy都没有涉及的代码感兴趣。

解决方法

我花了一些时间在此上,并取得了一些进展,但还没有一个完整的解决方案。

pytestmypy都有标记来发出基于XML的报告,它们共享的一个通用模式是基于Java的Cobertura工具。

为每个文件生成XML文件的示例调用:

pytest --cov=app --cov-report=xml:pytest-cobertura.xml
mypy app.py --cobertura-xml-report .

此后,您将有两个名为的类似XML文件:

  • pytest-cobertura.xml
  • coverage.xml-mypy仅允许目录,而不允许文件名

我已经尝试过尝试将这两个文件合并为一个文件,但是在我花了很多时间之后却未能成功完成-但它应该类似于解析XML的方式树,然后合并两组lines XML标签并创建一个combined.xml文件。

现在,可以使用pycobertura工具将每个文件分别呈现为终端或HTML,如下所示:

pycobertura show --format html --output coverage.html combined.xml

我还无法弄清楚合并的内容,但想给你我所想的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。