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中for用来遍历range函数的方法
Jun 08 Python
Pandas DataFrame 取一行数据会得到Series的方法
Nov 10 Python
对python过滤器和lambda函数的用法详解
Jan 21 Python
python爬虫之验证码篇3-滑动验证码识别技术
Apr 11 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
python FTP批量下载/删除/上传实例
Dec 22 Python
Python将列表中的元素转化为数字并排序的示例
Dec 25 Python
解决pytorch DataLoader num_workers出现的问题
Jan 14 Python
Django 5种类型Session使用方法解析
Apr 29 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
Numpy中的数组搜索中np.where方法详细介绍
Jan 08 Python
如何用Python和JS实现的Web SSH工具
Feb 23 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实现的MongoDB数据库操作类分享
2014/05/12 PHP
十幅图告诉你什么是PHP引用
2015/02/22 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
2016/03/21 PHP
PHP加密技术的简单实现
2016/09/04 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
js 可拖动列表实现代码
2011/12/13 Javascript
js 控制页面跳转的5种方法
2013/09/09 Javascript
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
12个超实用的JQuery代码片段
2015/11/02 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
AngularJS进行性能调优的7个建议
2015/12/28 Javascript
jQuery插件之Tocify动态节点目录菜单生成器附源码下载
2016/01/08 Javascript
深入浅析search 搜索框的写法
2016/08/02 Javascript
Node.js制作简单聊天室
2017/01/12 Javascript
jQuery插件FusionCharts绘制的3D饼状图效果实例【附demo源码下载】
2017/03/03 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
激动人心的 Angular HttpClient的源码解析
2017/07/10 Javascript
vue中选项卡点击切换且能滑动切换功能的实现代码
2018/11/25 Javascript
jquery将信息遍历到界面上实例代码
2020/01/21 jQuery
Django中URL视图函数的一些高级概念介绍
2015/07/20 Python
使用Python的Bottle框架写一个简单的服务接口的示例
2015/08/25 Python
Python实现简单遗传算法(SGA)
2018/01/29 Python
python调用百度语音识别api
2018/08/30 Python
python实现的多任务版udp聊天器功能案例
2019/11/13 Python
Python守护进程实现过程详解
2020/02/10 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
贝玲妃美国官方网站:Benefit美国
2016/08/28 全球购物
Jabra捷波朗美国官网:用于办公、车载和运动的无线蓝牙耳麦
2017/02/01 全球购物
什么是触发器(trigger)? 触发器有什么作用?
2013/09/18 面试题
建龙钢铁面试总结
2014/04/15 面试题
乡镇庆八一活动方案
2014/02/02 职场文书
会计专业求职信范文
2015/03/19 职场文书
关于销售人员的年终工作总结要点
2019/08/15 职场文书
python实现ROA算子边缘检测算法
2021/04/05 Python
嵌入式Redis服务器在Spring Boot测试中的使用教程
2021/07/21 Redis
python实现学生信息管理系统(面向对象)
2022/06/05 Python