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