如何使用Python代码覆盖率工具Coverage
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,如何使用Python代码覆盖率工具Coverage,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 代码覆盖率单元测试代码覆盖率作
千家信息网最后更新 2025年02月01日如何使用Python代码覆盖率工具Coverage首先,用 Python 编写一段简单被测代码,如下: 然后,编写单元测试用例
根据上面的被测方法,这里使用 Python 自带的 unitte st 依赖库来编写 2 个简单的测试用例 并且,特意只 覆盖到了上面 方法的 2 个分支,即:优秀和良好 右键运行单元测试,会发现两个测试用例都是通过的 接下来,分别使用 Coverage 命令和 API 在本地生成代码覆盖率统计报告 1、Coverage 命令
在项目根目录下,运行 coverage run 命令,生成 .coverage 文件,搜集被测试源代码覆盖率的信息
然后,使用 coverage html -d 命令在同级目录下生成代码覆盖率统计报告 用浏览器打开统计报告文件夹中的 index.html 文件, 其中: statements :代码总行数,不包含空行和注释行
missing :未执行的代码行数
coverage :代码覆盖率
点击 test_get_level.py 文件,可以非常直观地查看到,哪些代码执行了,哪些代码没有被执行 2、C overage API 使用 Coverage API生成代码覆盖率统计报告更方便 只需要使用查找测试套件并运行,然后使用 Coverage API 进行分析、保存、展示即可
如何使用Python代码覆盖率工具Coverage,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
1. 代码覆盖率
单元测试代码覆盖率作为一种度量方式,可以计算单元测试用例对于被测代码的覆盖程度,即:被执行的代码数量和代码总数量的比值
统计代码覆盖率,经常在单元测试后再进行,可以为测试结果提供评判依据
Python 项目最常使用的代码覆盖率统计工具就是:Coverage
2. Coverage
Coverage 是用于统计 Python 代码覆盖率的工具,不仅支持分支覆盖率统计,生成 HTML 格式的统计报告,而且可以集成到 Jenkins 中使用
安装 Coverage 依赖同样是使用 pip 安装
# 安装 Coverage 依赖
pip3 install coverage
Coverage 官方提供了 2 种方式,用于统计代码覆盖率,分别是:
1、Coverage 命令行
2、Coverage API
更详细的介绍可以参考官方文档:
https://coverage.readthedocs.io/en/latest/
3. 实战一下
# 被测代码
# main.py
def get_level(cource):
"""
自定义的方法
:param cource:成绩
:return:
"""
if cource >= 90:
return "优秀"
elif cource >= 80:
return "良好"
elif cource >= 60:
return "合格"
elif cource >= 40:
return "不合格"
else:
return "差"
# 单元测试
# test_get_level.py
import unittest
from main import *
class GetLevel(unittest.TestCase):
def test_get_level1(self):
self.assertEquals(get_level(90), "优秀")
def test_get_level2(self):
self.assertEquals(get_level(80), "良好")
if __name__ == '__main__':
unittest.main(verbosity=2)
# 1、搜集被测代码覆盖率信息,保存到 .coverage 文件中
coverage run test_get_level.py
# 2、生成覆盖率统计结果报告
coverage html -d coverage_result
# 使用 API 生成代码覆盖率统计报告
# exec_api.py
import coverage
import unittest
# 实例化一个对象
cov = coverage.coverage()
cov.start()
# 测试套件
suite = unittest.defaultTestLoader.discover("./", "test_get_level.py")
unittest.TextTestRunner().run(suite)
# 结束分析
cov.stop()
# 结果保存
cov.save()
# 命令行模式展示结果
cov.report()
# 生成HTML覆盖率报告
cov.html_report(directory='result_html')
4. 最后
上面只是通过一个简单的 Python 方法结合 unittest 单元测试框架,展示了 Coverage 获取代码覆盖率统计报告的方法
实际项目中,更多应用场景是: Python自动化、Django/Flask Web项目统计单元测试用例的代码覆盖率,以提升产品的质量关于如何使用Python代码覆盖率工具Coverage问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
代码
覆盖率
测试
统计
报告
单元
生成
命令
方法
文件
工具
结果
项目
优秀
良好
更多
问题
分析
运行
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
三星2013移动数据库
服务器安装工程师加拿大
服务器简
db2数据库怎么安装教程
软件开发公司如何办理税务登记
教育依托互联网科技
基层站段网络安全威胁和对策
asp读取数据库写法
软件开发招标属于哪类
重庆hp服务器阵列卡服务器
oa软件开发联系方式
seer数据库分析
大学网络安全项目有哪些
实体类怎么对应数据库字段
verilog 数据库记录
网络安全在哪里考试
网络技术中r代表
下载安全控件找不到服务器
计算机三级网络技术上机模拟
网络安全与对抗培养方向
鑫鼎网络技术有限公司怎么样
域名服务器哪家好
单表几亿条数据适合什么数据库
生活中威胁数据库的例子
邯郸天气预报软件开发
数据库系统服务器
湖北电商网络安全维护怎么样
小学网络安全校园
衡水亿通网络技术有限公司
ps5国行有服务器吗