Python单元测试的增量代码覆盖率? [英] Incremental code coverage for Python unit tests?

查看:750
本文介绍了Python单元测试的增量代码覆盖率?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

How can I get an incremental report on code coverage in Python?

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

By "incremental", I mean what has been the change in the covered lines since some "last" report, or from a particular Git commit.

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

I'm using unittest and coverage (and coveralls.io) to get the code coverage statistics, which work great. But I'm involved only with a part of the project, and at first I'm concerned with what my last commit has changed. I expected coverage to be able to show the difference between two reports, but so far have not found anything short of running textual diff on HTML output.

推荐答案

简报

我使用 pycobertura

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

详细信息

我使用以下链(覆盖率):


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

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

Output cobertura's XML format: coverage xml --omit tests/* -o cover_old.xml

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

-- Modify code or checkout newer commit --

生成覆盖率报告:
python -m coverage运行-m unittest

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

Output cobertura's XML format: coverage xml --omit tests/* -o cover_new.xml

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

这篇关于Python单元测试的增量代码覆盖率?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆