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实现面向对像的ASP程序实例
Nov 10 Python
Python自动登录126邮箱的方法
Jul 10 Python
Python生成数字图片代码分享
Oct 31 Python
TensorFlow如何实现反向传播
Feb 06 Python
python队列queue模块详解
Apr 27 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
Nov 08 Python
Python 格式化打印json数据方法(展开状态)
Feb 27 Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 Python
简单介绍一下pyinstaller打包以及安全性的实现
Jun 02 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
Feb 07 Python
python编程简单几行代码实现视频转换Gif示例
Oct 05 Python
python人工智能human learn绘图可创建机器学习模型
Nov 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
咖啡知识大全
2021/03/03 新手入门
使用zend studio for eclipse不能激活代码提示功能的解决办法
2009/10/11 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
浅谈PHP中的数据传输CURL
2016/09/06 PHP
把html页面的部分内容保存成新的html文件的jquery代码
2009/11/12 Javascript
jQuery最佳实践完整篇
2011/08/20 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
javascript实现限制上传文件大小
2015/02/06 Javascript
JavaScript获取当前网页最后修改时间的方法
2015/04/03 Javascript
jquery插件bxslider用法实例分析
2015/04/16 Javascript
纯javascript实现分页(两种方法)
2015/08/26 Javascript
JS实现自动变换的菜单效果代码
2015/09/09 Javascript
JS声明式函数与赋值式函数实例分析
2016/12/13 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
JavaScript模块模式实例详解
2017/10/25 Javascript
Vue实现点击时间获取时间段查询功能
2020/08/21 Javascript
微信小程序实现转盘抽奖
2020/09/21 Javascript
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
Python的条件语句与运算符优先级详解
2015/10/13 Python
Tensorflow卷积神经网络实例进阶
2018/05/24 Python
python3.7 sys模块的具体使用
2019/07/22 Python
Python-Flask:动态创建表的示例详解
2019/11/22 Python
Pytorch 实现权重初始化
2019/12/31 Python
pandas针对excel处理的实现
2021/01/15 Python
CSS3 按钮边框动画的实现
2020/11/12 HTML / CSS
澳大利亚排名第一的狂热牛仔品牌:ONETEASPOON
2018/11/20 全球购物
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
实用求职信范文分享
2013/12/25 职场文书
节能减排倡议书
2014/04/15 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
法定代表人资格证明书
2015/06/18 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
Python Flask实现进度条
2022/05/11 Python
5个实用的JavaScript新特性
2022/06/16 Javascript