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

python test coverage comparison with previous run

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

coverage run -m pytest
coverage html

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

我可以使用任何方法或现有工具将测试覆盖率与 previous/historical 运行 进行比较吗?这样我就可以轻松发现是否有任何 .py 文件的覆盖率明显下降。

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

之外构建

codecov.io

codecov.io 等服务提供此功能

差异覆盖

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

The diff-cover command line tool compares an XML coverage report with the output of git diff. It then reports coverage information for lines in the diff.