分享

python-Coverage 代码覆盖率统计工具,生成html代码报告

 Python集中营 2022-10-10 发布于甘肃

代码覆盖率

1'''
2摘自百度百科:
3分析未覆盖部分的代码,从而反推在前期测试设计是否充分,没有覆盖到的代码是否是测试设计的盲点,为什么没有考虑到?
4需求/设计不够清晰,测试设计的理解有误,工程方法应用后的造成的策略性放弃等等,之后进行补充测试用例设计。
5检测出程序中的废代码,可以逆向反推在代码设计中思维混乱点,提醒设计/开发人员理清代码逻辑关系,提升代码质量。
6代码覆盖率高不能说明代码质量高,但是反过来看,代码覆盖率低,代码质量不会高到哪里去,可以作为测试自我审视的重要工具之一。
7'''

第三方库

1# pip install coverage

控制台统计方式

 1# 需要统计的python文件,hello_world.py
2
3def hello_world():
4
5    print('Welcome to Python 集中营')
6
7# coverage命令执行代码统计
8
9# coverage run hello_world.py
10
11# 控制台输出报告
12
13# coverage report
14
15# Welcome to Python 集中营
16# Name       Stmts   Miss  Cover
17# ------------------------------
18# test1.py      12     11     8%
19# ------------------------------
20# TOTAL         12     11     8%
21
22# 生成html报告
23
24# coverage html
25
26# 打开项目名_py.html 可以在浏览器直接查看醒目报告

API统计方式

 1# 导入coverage代码覆盖率统计包
2import coverage
3
4if __name__ == '__main__':
5    cover_code = coverage.coverage()  # 创建coverage统计对象
6    cover_code.start()  # 开始统计
7    hello_world()  # 需要统计的代码块
8    cover_code.stop()  # 结束统计
9    cover_code.save()  # 保存
10    cover_code.report()  # 生成控制台报告
11    cover_code.html_report()  # 生成html报告
12
13# Welcome to Python 集中营
14# Name       Stmts   Miss  Cover
15# ------------------------------
16# test1.py      12     11     8%
17# ------------------------------
18# TOTAL         12     11     8%

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多