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命名空间详解
Aug 18 Python
Python中用startswith()函数判断字符串开头的教程
Apr 07 Python
常见的在Python中实现单例模式的三种方法
Apr 08 Python
对pandas的dataframe绘图并保存的实现方法
Aug 05 Python
Python将DataFrame的某一列作为index的方法
Apr 08 Python
Python多进程multiprocessing.Pool类详解
Apr 27 Python
基于python OpenCV实现动态人脸检测
May 25 Python
基于python实现高速视频传输程序
May 05 Python
python自制包并用pip免提交到pypi仅安装到本机【推荐】
Jun 03 Python
Python 装饰器原理、定义与用法详解
Dec 07 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Pytorch数据读取之Dataset和DataLoader知识总结
May 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
萌王史莱姆”萌王性别尴尬!那“萌战”归女组还是男?
2018/12/17 日漫
php使用filter过滤器验证邮箱 ipv6地址 url验证
2013/12/25 PHP
php中字符串和正则表达式详解
2014/10/23 PHP
php中yii框架实例用法
2020/12/22 PHP
jValidate 基于jQuery的表单验证插件
2009/12/12 Javascript
JavaScript异步调用定时方法并停止该方法实现代码
2012/03/16 Javascript
纯css+js写的一个简单的tab标签页带样式
2014/01/28 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
jQuery实现获取元素索引值index的方法
2016/09/18 Javascript
第一次记录Bootstrap table学习笔记(1)
2017/05/18 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
JavaScript作用域链实例详解
2019/01/21 Javascript
jQuery实现评论模块
2020/08/19 jQuery
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
如何在vue中使用HTML 5 拖放API
2021/01/14 Vue.js
python冒泡排序简单实现方法
2015/07/09 Python
python更新列表的方法
2015/07/28 Python
Python 基础教程之str和repr的详解
2017/08/20 Python
Python可迭代对象操作示例
2019/05/07 Python
python 随机森林算法及其优化详解
2019/07/11 Python
python多线程与多进程及其区别详解
2019/08/08 Python
Python3 实现减少可调用对象的参数个数
2019/12/20 Python
将python依赖包打包成window下可执行文件bat方式
2019/12/26 Python
如何基于python实现画不同品种的樱花树
2020/01/03 Python
什么是python的自省
2020/06/21 Python
解决keras,val_categorical_accuracy:,0.0000e+00问题
2020/07/02 Python
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
波兰办公用品和学校用品在线商店:Dlabiura24.pl
2020/11/18 全球购物
PHP面试题大全
2015/10/16 面试题
了解AppleTalk协议吗
2014/04/01 面试题
2014年情人节活动方案
2014/02/16 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
励志语录:只有自己足够强大,才能不被别人践踏
2020/01/09 职场文书
python删除csv文件的行列
2021/04/06 Python
Redis如何一键部署脚本
2021/04/12 Redis
python使用glob检索文件的操作
2021/05/20 Python