- 代码覆盖率
在测试中,为了度量产品质量,代码覆盖率被作为一种测试结果的评判依据
代码覆盖率是由特定的测试套件覆盖被测源代码的程度来度量- Coverage
不仅支持分支覆盖率统计,还可以生成HTML/XML报告。并且XML报告可以结合Jenkins和Sonar集成工具一起使用
pip install coverage- 使用方法
针对不同Python版本,有不同的命令,coverage2、coverage3等- 在命令行中使用
使用help命令查看帮助:coverage help
run – 运行Python程序并收集执行数据
report – 报告覆盖率结果
html/json/xml – 生成HTML/JSON/XML文件,内容含覆盖率结果列表
erase – 清除之前收集的覆盖率数据
combine – 合并多个数据文件
debug – 获取调试信息
代码执行完成后会生成一个覆盖率统计结果文件:.coverage。该文件名可通过设置COVERAGE_FILE环境变量进行修改。 - 调用API使用
# 实例化对象
cov = coverage.coverage
# 开始分析
cov.start
import XXX # 注意将import放在cov之后否则,结果显示未加载
suite = unittest.defaultTestLoader.discover(os.getcwd, “test.py”)
unittest.TextTestRunner.run(suite)
# 结束分析
cov.stop
# 结果保存
cov.save
# 命令行模式展示结果
cov.report
# 生成HTML覆盖率报告
cov.html_report(directory= ‘covhtml’)
- 在命令行中使用
- 生成报告
一种是在当前命令行模式下查看,一种是生成HTML报告文件查看- 在当前命令行模式下查看
使用命令:coverage report
tmts:语句总数
Miss:未执行到的语句数
Cover:覆盖率,计算公式 Cover=(Stmts-Miss)/Stmts - 生成HTML报告文件查看
使用命令生成HTML报告:coverage html -d cover
参数-d是指定生成的html所在的文件夹名
- 在当前命令行模式下查看
- Coverage.py — Coverage.py 5.6b1 documentation
- 使用场景
- 使用方法
- Coverage