python代码覆盖度统计之coverage.py

目的

本次研究代码覆盖率主要是为了度量自动化用例执行、功能测试、单元测试对代码的覆盖范围。从而保证项目质量。

代码覆盖度工具

python代码覆盖度统计之coverage.py_第1张图片

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

python代码覆盖度统计之coverage.py_第2张图片

命令2: coverage run –p xx.py arg1 arg2

实例: coveragerun –p testCase.py

执行后: 会在当前文件夹下生成一个.coverage.xxxx.xxx.xxxx文件

-p的作用解决生成.coverage命名重复的问题,主要用于多版本合并

report  生报覆盖率报告

命令:coverage report

执行结果:

python代码覆盖度统计之coverage.py_第3张图片

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

你可能感兴趣的:(python代码覆盖度统计之coverage.py)