Python代码覆盖率统计工具coverage.py用法详解


Posted in Python onNovember 25, 2020

1、安装coverage

pip install coverage

安装完成后,会在Python环境下的\Scripts下看到coverage.exe;

2、Coverage 命令行

coverage run

运行一个.py的文件方式:python test.py

现在使用coverage执行.py的文件方式:coverage run test.py

会自动生成一个覆盖率统计结果文件(data file):.coverage,这个文件在你的test.py的文件对应目录下。

coverage report

有了覆盖率统计结果文件,只需要再运行report参数,就可以在命令里看到统计的结果。

coverage html -d covhtml

生成html的测试报告。

输出结果意义

Stmts 总的有效代码行数(不包含空行和注释行)
Miss 未执行的代码行数(不包含空行和注释行)
Branch 总分支数
BrMiss 未执行的分支数
Cover 代码覆盖率
Missing 未执行的代码部分在源文件中行号

命令详解

coverage run --help

# 打印帮助信息
coverage run test_xxx.py # 执行test_xxx.py文件,会自动生成一个覆盖率统计结果文件.coverage
coverage report -m(带有详细信息) # 查看coverage报告,读取.coverage文件并打印到屏幕上,可以在命令行里看到统计结果
coverage html -d report # 生成显示整体的covergae html形式的报告 (在当前同路径下生成一个report文件夹,里面包含html形式的报告。通过查看report文件夹下的内容即可)

3、其他功能

除了使用命令行,还可以在python代码中直接调用coverage模块执行代码覆盖率的统计。使用方法也非常简单:

import coverage

cov = coverage.coverage()
cov.start()

# .. run your code ..

cov.stop()
cov.save()

文档:https://coverage.readthedocs.io/en/latest/cmd.html

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
跟老齐学Python之Python安装
Sep 12 Python
在ironpython中利用装饰器执行SQL操作的例子
May 02 Python
python基础知识小结之集合
Nov 25 Python
利用Python命令行传递实例化对象的方法
Nov 02 Python
django框架如何集成celery进行开发
May 24 Python
Python字典数据对象拆分的简单实现方法
Dec 05 Python
Python3用tkinter和PIL实现看图工具
Jun 21 Python
转换科学计数法的数值字符串为decimal类型的方法
Jul 16 Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 Python
Python中字符串List按照长度排序
Jul 01 Python
什么是Python中的顺序表
Jun 02 Python
深入了解python列表(LIST)
Jun 08 Python
python 实时调取摄像头的示例代码
Nov 25 #Python
Python存储读取HDF5文件代码解析
Nov 25 #Python
python 简单的调用有道翻译
Nov 25 #Python
浅析Python的命名空间与作用域
Nov 25 #Python
重构Python代码的六个实例
Nov 25 #Python
python try...finally...的实现方法
Nov 25 #Python
通过Python pyecharts输出保存图片代码实例
Nov 25 #Python
You might like
PHP学习 变量使用总结
2011/03/24 PHP
jQuery向下滚动即时加载内容实现的瀑布流效果
2016/01/07 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
JQGrid的用法解析(列编辑,添加行,删除行)
2013/11/08 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
jQuery动态添加及删除表单上传元素的方法(附demo源码下载)
2016/01/15 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
JavaScript实现自动切换图片代码
2016/10/11 Javascript
JavaScript正则表达式和级联效果
2017/09/14 Javascript
在 Angular6 中使用 HTTP 请求服务端数据的步骤详解
2018/08/06 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
JS使用canvas中的measureText方法测量字体宽度示例
2019/02/02 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
下载给定网页上图片的方法
2014/02/18 Python
Python中的闭包总结
2014/09/18 Python
Python实现建立SSH连接的方法
2015/06/03 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
Python入门之三角函数sin()函数实例详解
2017/11/08 Python
详解python OpenCV学习笔记之直方图均衡化
2018/02/08 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
Python中函数参数匹配模型详解
2019/06/09 Python
Windows下Anaconda安装、换源与更新的方法
2020/04/17 Python
基于Python下载网络图片方法汇总代码实例
2020/06/24 Python
亚马逊墨西哥站:Amazon.com.mx
2018/08/26 全球购物
C语言面试题
2015/10/30 面试题
坚定理想信念心得体会
2014/03/11 职场文书
医学检验专业自荐信
2014/09/18 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
合法的离婚协议书范本
2014/10/23 职场文书
学生评语集锦
2015/01/04 职场文书
风雨哈佛路观后感
2015/06/03 职场文书
狼牙山五壮士观后感
2015/06/09 职场文书
Go语言grpc和protobuf
2022/04/13 Golang
bose降噪耳机音能消除人声吗
2022/04/19 数码科技