如何使用Python代码覆盖率工具Coverage
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,如何使用Python代码覆盖率工具Coverage,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 代码覆盖率单元测试代码覆盖率作
千家信息网最后更新 2024年11月14日如何使用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安全错误
数据库的锁怎样保障安全
数据库表迁移
app应用软件开发方案报价
软件开发目的及组织方式
我是网络安全小达人手抄报
国际航空网络安全
机关干部网络安全知识资料
淘宝买的服务器系统激活码
sqlserver数据库采购
服务器运维工资
网络安全与执法相关理论知识
数据库有很多无效链接
福建工程软件开发公司哪家好
网络安全之
应用程序显示数据库没有开启
5g核心网网络技术升级
沈腾表演的网络安全宣传片
湖北工控软件开发哪家好
客户租服务器犯罪
文明重启高倍服务器是哪个
智能软件开发适合女生吗
app软件开发项目预算表
崂山区商城软件开发哪家做的好
服务器断电后进程会重启吗
部署jmeter到服务器上
网络安全与信息化发展遵循方针
魔兽世界搬砖选择哪个服务器
数据库技术试卷 答案
服务器系统缓存
SQL数据库单选按钮
数据库用户dbo的特点