目的
本次研究代码覆盖率主要是为了度量自动化用例执行、功能测试、单元测试对代码的覆盖范围。从而保证项目质量。
代码覆盖度工具
coverage.py简介
Coverage.py 是一个用来测试代码覆盖率的 Python 第三方库。它起初是由 Ned Batchelder 创建。在编程界,术语“覆盖”通常是用来描述测试的有效性,以及测试的实际覆盖率。coverage.py 库支持 Python 2.6 或者更高的版本,还兼容 Python 3 的最新版以及 PyPy。
安装软件
使用pip安装
Pipinstall coverage
使用easy-install来安装
easyinstall coverage
coverage 命令使用
命令行使用说明: 详见:http://nedbatchelder.com/code/coverage/cmd.html
run - 运行Python程序并收集执行数据
命令1:coverage run xx.py arg1 arg2
实例: coverage run testCase.py
执行后:会在当前文件夹下生成一个.coverage
命令2: coverage run –p xx.py arg1 arg2
实例: coveragerun –p testCase.py
执行后: 会在当前文件夹下生成一个.coverage.xxxx.xxx.xxxx文件
-p的作用解决生成.coverage命名重复的问题,主要用于多版本合并
report 生报覆盖率报告
命令:coverage report
执行结果:
html-使用覆盖结果生成带注释的HTML列表
命令:coverage html -d covhtml
执行结果:在当前目录生成一个covhtml文件夹,用于存放覆盖率报告,点击【index.html】查看报告,生成的报告可以直接关联代码,高亮显示覆盖和未覆盖的代码,支持排序。可以在这个地址http://nedbatchelder.com/code/coverage/cmd.html。
combine(合并)-将许多数据文件组合在一起
coverage文件必须在同一目录至少有两个,否则会提示:No data to combine
执行后:只显示一个.coverage文件夹与covhtml,合并后需要重新生成报告
注:命令的详细使用方法详见:http://nedbatchelder.com/code/coverage/cmd.html
网友评论