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实现复制整个目录的方法
May 12 Python
Python的MongoDB模块PyMongo操作方法集锦
Jan 05 Python
Python爬虫爬验证码实现功能详解
Apr 14 Python
利用Python在一个文件的头部插入数据的实例
May 02 Python
Python实现的爬取百度贴吧图片功能完整示例
May 10 Python
使用python PIL库实现简单验证码的去噪方法步骤
May 10 Python
anaconda中更改python版本的方法步骤
Jul 14 Python
PYTHON实现SIGN签名的过程解析
Oct 28 Python
妙用itchat! python实现久坐提醒功能
Nov 25 Python
浅析python,PyCharm,Anaconda三者之间的关系
Nov 27 Python
Python list和str互转的实现示例
Nov 16 Python
python使用pygame创建精灵Sprite
Apr 06 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使用数据库永久连接方式操作MySQL的是与非
2013/06/05 PHP
浅析关于PHP位运算的简单权限设计
2013/06/30 PHP
PHP实现支持GET,POST,Multipart/form-data的HTTP请求类
2014/09/24 PHP
PHP获取指定月份第一天和最后一天的方法
2015/07/18 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
JS 判断代码全收集
2009/04/28 Javascript
JQuery从头学起第一讲
2010/07/04 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
html向js方法传递参数具体实现
2013/08/08 Javascript
js中回调函数的学习笔记
2014/07/31 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
AngularJS基础教程之简单介绍
2015/09/27 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
原生js实现addClass,removeClass,hasClass方法
2016/04/27 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
jQuery插件jquery.kxbdmarquee.js实现无缝滚动效果
2017/02/15 Javascript
Angular中innerHTML标签的样式不起作用的原因解析
2019/06/18 Javascript
JS获取表格视图所选行号的ids过程解析
2020/02/21 Javascript
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
利用Python的装饰器解决Bottle框架中用户验证问题
2015/04/24 Python
python里使用正则表达式的组嵌套实例详解
2017/10/24 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
Python logging模块原理解析及应用
2020/08/13 Python
CSS3制作翻转效果_动力节点Java学院整理
2017/07/11 HTML / CSS
Alba Moda瑞士网上商店:独家意大利时尚女装销售
2016/11/28 全球购物
Linux管理员面试题 Linux admin interview questions
2014/11/01 面试题
个人作风建设自查报告
2014/10/22 职场文书
解除劳动关系协议书2篇
2014/11/28 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
instantclient客户端 连接oracle数据库
2022/04/26 Oracle