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中的元类(metaclass)
Feb 14 Python
详解python中executemany和序列的使用方法
Aug 12 Python
如何在sae中设置django,让sae的工作环境跟本地python环境一致
Nov 21 Python
python3 读写文件换行符的方法
Apr 09 Python
python 字典 按key值大小 倒序取值的实例
Jul 06 Python
python write无法写入文件的解决方法
Jan 23 Python
利用PyCharm Profile分析异步爬虫效率详解
May 08 Python
浅谈python多进程共享变量Value的使用tips
Jul 16 Python
python_array[0][0]与array[0,0]的区别详解
Feb 18 Python
在python中使用pymysql往mysql数据库中插入(insert)数据实例
Mar 02 Python
python复合条件下的字典排序
Dec 18 Python
Python数据处理的三个实用技巧分享
Apr 01 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
一个程序下载的管理程序(一)
2006/10/09 PHP
谈PHP生成静态页面分析 模板+缓存+写文件
2009/08/17 PHP
PHP制作3D扇形统计图以及对图片进行缩放操作实例
2014/10/23 PHP
xmlHTTP实例
2006/10/24 Javascript
js实现点击图片改变页面背景图的方法
2015/02/28 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
详解jQuery中基本的动画方法
2016/12/14 Javascript
jQuery插件FusionCharts实现的Marimekko图效果示例【附demo源码】
2017/03/24 jQuery
JS实现线性表的链式表示方法示例【经典数据结构】
2017/04/11 Javascript
Vue 实用分页paging实例代码
2017/04/12 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
360提示[高危]使用存在漏洞的JQuery版本的解决方法
2017/10/27 jQuery
jquery ajaxfileuplod 上传文件 essyui laoding 效果【防止重复上传文件】
2018/05/26 jQuery
详解webpack打包时排除其中一个css、js文件或单独打包一个css、js文件(两种方法)
2018/10/26 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
2019/09/18 Javascript
JavaScript实现Tab标签页切换的最简便方式(4种)
2020/06/28 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
[01:46]辉夜杯—打造中国DOTA新格局
2015/12/25 DOTA
详解Python 2.6 升级至 Python 2.7 的实践心得
2017/04/27 Python
Python+Django搭建自己的blog网站
2018/03/13 Python
Python高斯消除矩阵
2019/01/02 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
Django框架中间件定义与使用方法案例分析
2019/11/28 Python
如何提高python 中for循环的效率
2020/04/15 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
Python使用for生成列表实现过程解析
2020/09/22 Python
MYSQL相比于其他数据库有哪些特点
2013/07/19 面试题
元旦晚会邀请函
2014/02/01 职场文书
中秋节晚会开场白
2015/05/29 职场文书
无房证明样本
2015/06/17 职场文书
作文之亲情600字
2019/09/23 职场文书