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绘制六种可视化图表
Aug 27 Python
python爬取指定微信公众号文章
Dec 20 Python
linux查找当前python解释器的位置方法
Feb 20 Python
python根据txt文本批量创建文件夹
Dec 08 Python
python实现移位加密和解密
Mar 22 Python
在python中用print()输出多个格式化参数的方法
Jul 16 Python
python实现用类读取文件数据并计算矩形面积
Jan 18 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
Feb 19 Python
python如何爬取网页中的文字
Jul 28 Python
QT5 Designer 打不开的问题及解决方法
Aug 20 Python
Django中使用Celery的方法步骤
Dec 07 Python
详解pandas中利用DataFrame对象的.loc[]、.iloc[]方法抽取数据
Dec 13 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配置文件php.ini的路径的方法
2014/08/20 PHP
php session_decode函数用法讲解
2019/05/26 PHP
优化网页之快速的呈现我们的网页
2007/06/29 Javascript
javascript:void(0)的真正含义实例分析
2008/08/20 Javascript
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
用js将内容复制到剪贴板兼容浏览器
2014/03/18 Javascript
jQuery实现鼠标选文字发新浪微博的方法
2016/04/02 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
nodejs构建本地web测试服务器 如何解决访问静态资源问题
2017/07/14 NodeJs
基于BootStrap实现简洁注册界面
2017/07/20 Javascript
vue仿淘宝订单状态的tab切换效果
2020/06/23 Javascript
基于Vue2x实现响应式自适应轮播组件插件VueSliderShow功能
2018/05/16 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
2018/09/15 Javascript
巧妙运用v-model实现父子组件传值的方法示例
2019/04/07 Javascript
微信小程序云开发使用方法新手初体验
2019/05/16 Javascript
element-ui 远程搜索组件el-select在项目中组件化的实现代码
2019/12/04 Javascript
Python实现的数据结构与算法之链表详解
2015/04/22 Python
Python实例一个类背后发生了什么
2016/02/09 Python
基于Python实现对PDF文件的OCR识别
2016/08/05 Python
Python实现PS滤镜特效之扇形变换效果示例
2018/01/26 Python
基于Python开发chrome插件的方法分析
2018/07/07 Python
python每5分钟从kafka中提取数据的例子
2019/12/23 Python
节日快乐! Python画一棵圣诞树送给你
2019/12/24 Python
使用Numpy对特征中的异常值进行替换及条件替换方式
2020/06/08 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
澳洲本土太阳镜品牌:Quay Australia
2019/07/29 全球购物
Muziker英国:中欧最大的音乐家商店
2020/02/05 全球购物
运动会通讯稿300字
2014/02/02 职场文书
就业意向书
2014/07/29 职场文书
小学信息技术教学反思
2016/02/16 职场文书
如何用Laravel包含你自己的帮助函数
2021/05/27 PHP
postgresql使用filter进行多维度聚合的解决方法
2021/07/16 PostgreSQL
MySQL面试题讲解之如何设置Hash索引
2021/11/01 MySQL
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电