我可以将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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...