python 测试覆盖率与之前运行的比较

hen*_*gkk 7 python unit-testing code-coverage coverage.py test-coverage

我正在使用coverage.py以 html 报告的形式检查单元测试的代码覆盖率。

coverage run -m pytest
coverage html
Run Code Online (Sandbox Code Playgroud)

该报告非常酷,它显示了总体覆盖率 % 和单个 .py 文件的覆盖率 %。每次我完成一些代码更改时,我都会重新运行覆盖率报告,以检查我的单元测试用例是否可以很好地覆盖新代码。然而,问题是我必须手动发现是否有任何 .py 文件的覆盖率特别低。

有什么方法或现有工具可以用来将测试覆盖率与之前/历史运行进行比较?这样我就可以轻松发现是否有任何 .py 文件的覆盖率显着下降。

hen*_*gkk 6

目前coverage.py不支持此功能,但可以在coverage.py之外构建

Codecov.io

codecov.io等服务提供此功能

差异覆盖

像diff-cover这样的项目会突出显示最近更改中缺少覆盖范围的行。

命令行工具diff-cover将 XML 覆盖率报告与git diff. 然后它报告差异中各行的覆盖信息。