问题描述
我可以通过{p> 3使用mypy生成类型“覆盖”报告
mypy . --html-report mypy-report
以及包含pytest-cov的pytest覆盖率报告
pytest --cov=app --cov-report=html
是否可以合并两个报告?我会对单元测试或mypy都没有涉及的代码感兴趣。
解决方法
我花了一些时间在此上,并取得了一些进展,但还没有一个完整的解决方案。
pytest
和mypy
都有标记来发出基于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
我还无法弄清楚合并的内容,但想给你我所想的。