手记

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

代码覆盖率

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

第三方库

# pip install coverage

控制台统计方式

# 需要统计的python文件,hello_world.py

def hello_world():

    print('Welcome to Python 集中营')

# coverage命令执行代码统计

# coverage run hello_world.py

# 控制台输出报告

# coverage report

# Welcome to Python 集中营
# Name       Stmts   Miss  Cover
# ------------------------------
# test1.py      12     11     8%
# ------------------------------
# TOTAL         12     11     8%

# 生成html报告

# coverage html

# 打开项目名_py.html 可以在浏览器直接查看醒目报告

API统计方式

# 导入coverage代码覆盖率统计包
import coverage

if __name__ == '__main__':
    cover_code = coverage.coverage()  # 创建coverage统计对象
    cover_code.start()  # 开始统计
    hello_world()  # 需要统计的代码块
    cover_code.stop()  # 结束统计
    cover_code.save()  # 保存
    cover_code.report()  # 生成控制台报告
    cover_code.html_report()  # 生成html报告

# Welcome to Python 集中营
# Name       Stmts   Miss  Cover
# ------------------------------
# test1.py      12     11     8%
# ------------------------------
# TOTAL         12     11     8%
0人推荐
随时随地看视频
慕课网APP