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 相关文章推荐
Django集成百度富文本编辑器uEditor攻略
Jul 04 Python
python常用知识梳理(必看篇)
Mar 23 Python
Python利用Beautiful Soup模块搜索内容详解
Mar 29 Python
Python 类的特殊成员解析
Jun 20 Python
Python3 Post登录并且保存cookie登录其他页面的方法
Dec 28 Python
python多线程下信号处理程序示例
May 31 Python
python自动循环定时开关机(非重启)测试
Aug 26 Python
python不使用for计算两组、多个矩形两两间的iou方式
Jan 18 Python
matplotlib.pyplot.matshow 矩阵可视化实例
Jun 16 Python
如何理解及使用Python闭包
Jun 01 Python
python中的getter与setter你了解吗
Mar 24 Python
 python中的元类metaclass详情
May 30 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
BBS(php & mysql)完整版(五)
2006/10/09 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
一个简单的php路由类
2016/05/29 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
PHP数据对象映射模式实例分析
2019/03/29 PHP
laravel 判断查询数据库返回值的例子
2019/10/11 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
javascript setTimeout和setInterval 的区别
2009/12/08 Javascript
解决js数据包含加号+通过ajax传到后台时出现连接错误
2013/08/01 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
2014/09/29 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
JS简单实现点击复制链接的方法
2016/08/03 Javascript
Bootstrap精简教程中秋大放送
2016/09/15 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
javascript ES6中箭头函数注意细节小结
2017/02/17 Javascript
JavaScript实现图片本地预览功能【不用上传至服务器】
2017/09/20 Javascript
Vue配合iView实现省市二级联动的示例代码
2018/07/27 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
Vue 电商后台管理项目阶段性总结(推荐)
2020/08/22 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[54:09]RNG vs Liquid 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.23
2019/09/05 DOTA
Python多线程编程(四):使用Lock互斥锁
2015/04/05 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
Django中更改默认数据库为mysql的方法示例
2018/12/05 Python
python脚本执行CMD命令并返回结果的例子
2019/08/14 Python
python实现logistic分类算法代码
2020/02/28 Python
pycharm2020.1.2永久破解激活教程,实测有效
2020/10/29 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
css3 中实现炫酷的loading效果
2019/04/26 HTML / CSS
香港最新科技与优质家居产品购物网站:J SELECT
2018/08/21 全球购物
国际花店:Pickup Flowers
2020/04/10 全球购物
美国小蜜蜂Burt’s Bees德国官网:天然唇部、皮肤和身体护理产品
2020/06/14 全球购物
学期自我评价
2014/01/27 职场文书
会计求职简历自我评价
2015/03/10 职场文书
mysql知识点整理
2021/04/05 MySQL
python numpy中setdiff1d的用法说明
2021/04/22 Python