如何使用Python代码覆盖率工具Coverage
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,如何使用Python代码覆盖率工具Coverage,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 代码覆盖率单元测试代码覆盖率作
千家信息网最后更新 2026年11月03日如何使用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安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
广州淘业互联网络科技
蓝思科技飞鸽互联网
互联网为科技
互联网公司 科技公司
互联网络科技有限公司
深圳互联网科技公司
互联网科技的发展
沃里互联网科技
互联网科技美容
互联网科技公司招聘
上海电发互联网科技有限公司
济南华为互联网科技产业总部基地
崇明区互联网教育科技售后服务
互联网金融科技公司的优势
广州梦谷互联网科技有限公司领导
科技互联网行业投资研究
互联网时代科技型公司的机会
湖北辰鑫科技互联网
互联网 科技节活动 微视频大赛
上海喔噻互联网科技有限公司
新华互联网科技
广州紫鲸互联网科技有限公司
互联网 卓越科技
成都互联网科技公司
北京禾田雨橡互联网科技
兼蜜互联网科技
互联网科技有限公司 翻译
银川新华互联网科技学校联系电话
华人运通互联网科技公司