Python单元测试的增量代码覆盖率?

Kon*_*yak 5 python unit-testing code-coverage coverage.py python-unittest

如何获得有关Python代码覆盖率的增量报告?

“增量”是指自从某些“上一次”报告以来,或从特定的Git提交以来,所涵盖行的变化。

我正在使用unittestcoverage(和Coveralls.io)获取代码覆盖率统计信息,效果很好。但是我只参与项目的一部分,起初我担心我的上一次提交已更改。我希望coverage能够显示两个报告之间的差异,但是到目前为止,除了在HTML输出上运行文本差异之外,还没有发现任何东西。

bet*_*pfa 7

简短的

我使用pycobertura

pycobertura diff --format html --output cov_diff.html coverage_old.xml coverage_new.xml


细节

我使用以下链(覆盖范围):

  1. 生成覆盖率报告: python -m coverage run -m unittest

  2. 输出cobertura的XML格式: coverage xml --omit tests/* -o cover_old.xml

  3. -- 修改代码或签出较新的提交 --

  4. 生成覆盖率报告: python -m coverage run -m unittest

  5. 输出cobertura的XML格式: coverage xml --omit tests/* -o cover_new.xml

  6. 生成差异:pycobertura diff --format html --output cov_diff.html coverage_old.xml coverage_new.xml