测试用例覆盖率coverage工具使用

发表于:2017-8-31 15:09

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Jogging    来源:51Testing软件测试网采编

  ●安装coverage工具
  easy_install coverage
  or
  pip install coverage
  ●下面举例说明如何使用coverage工具
  项目目录
  ●生成指定测试用例模块的覆盖率报告
  cd tests
  coverage run test_ascheduler.py
  
 Paste_Image.png
   新增加一个.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文件:
  Paste_Image.png
  ●查看测试用例未覆盖的代码行
  coverage report -m
  Missing列表示测试用例未覆盖的代码行号
  ●测试覆盖率报告中不显示测试用例模块
  我们看到上面的测试用例报告中,有很多测试用例模块自身的覆盖率,其实我们只想看功能模块的测试覆盖率情况,可以执行下面的命令:
  coverage report --omit="test_*.py"
  或者在执行的时候指定过滤,忽略所有符合test_*.py模式的python文件
  coverage run --omit="test_*.py"  test_ascheduler.py
  或者通过配置文件.coveragerc来设定过滤规则:
  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
  
Paste_Image.png
  ●如果想了解更详细的coverage使用,可以访问官方文档:
   http://coverage.readthedocs.io/en/latest/index.html
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号