Python代码覆盖率工具——Coverage命令行(转载)

一、Coverage命令行介绍

  • 安装coverage工具
easy_install coverage
or
pip install coverage
  • 下面举例说明如何使用coverage工具

  • 生成指定测试用例模块的覆盖率报告
cd tests
coverage run test_ascheduler.py

 

新增加一个.coverage文件,这个文件里面记录了test_ascheduler.py单元测试脚本对应模块的覆盖率数据。

默认覆盖率数据记录在.coverage文件中,也可以在运行前指定保存文件的名称,通过设定环境变量 COVERAGE_FILE 来更改存储覆盖率报告的文件名称。

  • 可以使用下面的命令来查看测试用例覆盖率情况:
coverage report

  • 生成多个测试用例模块报告

在tests目录下面存在多个test_开头的测试用例模块,如果我们分别执行coverage run 命令,.coverage会被后面执行的结果覆盖,可以执行下面的命令保存多个测试用例覆盖率报告:

coverage run -p test_ascheduler.py
coverage run -p test_calendar.py
coverage run -p test_cmd.py
coverage run -p test_cmd2.py
coverage run -p test_rsync.py

  • 合并多个测试用例覆盖率报告
coverage combine
  • 合并成一个.coverage文件

  • 查看测试用例未覆盖的代码行
coverage report -m

  • 测试覆盖率报告中不显示测试用例模块

我们看到上面的测试用例报告中,有很多测试用例模块自身的覆盖率,其实我们只想看功能模块的测试覆盖率情况,可以执行下面的命令:

coverage report --omit="test_*.py"

或者在执行的时候指定过滤,忽略所有符合test_*.py模式的python文件

touch .coveragerc

 vim .coveragerc

[run]
omit =
    test_*.py
    */utils/__init__.py
    */utils/errors.py

一般测试用例覆盖率不需要对测试用例模块本身做出统计,过滤掉test_*.py的模块,另外__init__.py和errors.py文件一般也不需要测试用例覆盖率。

coverage run test_ascheduler.py
coverage report

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值