如何使用Python代码覆盖率工具Coverage
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,如何使用Python代码覆盖率工具Coverage,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 代码覆盖率单元测试代码覆盖率作
千家信息网最后更新 2025年12月02日如何使用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安全错误
数据库的锁怎样保障安全
小学网络安全总结结束语
长沙oa软件开发
不遵守网络安全的影响
大脸猫网络技术有限公司
网络安全主题班会教育课件
软件开发对企业的帮助
on在数据库中是什么意思
甘肃电信服务器云空间
网络安全为人民主题黑板报
服务器实时监控
口碑好的网络技术咨询哪家好
淳化网络安全宣传
上海互联网络技术服务方案
博兴蒲乘互联网科技有限公司
四大主流国产数据库与国外的区别
天津方诺互联网科技
三月十五网络安全会
科脉数据库在哪
计算机网络技术专科可以做什么
市场周刊收录哪个数据库
移动数据终端软件开发
海康平台管理服务器干吗用
为什么要认真做好网络安全工作
网络安全实验的心得体会
数据库管理系统介绍
物联网适合的数据库
如何做软件开发的ppt
云端数据库导出接口
mis服务器
计算机网络技术基础h