Coverage.py是一个用于测量Python程序代码覆盖率的工具。它监视您的程序,注意代码的哪些部分已经执行,然后分析源代码,以确定哪些代码本可以执行,但没有执行。
覆盖率测量通常用于衡量测试的有效性。它可以显示代码的哪些部分正在由测试执行,哪些部分没有。
一、安装
使用前需要通过命令行或者IDE安装Coverage库
1-1、命令行:
pip install coverage
1-2、IDE:
二、使用
编写一个简单的待测试程序
def print_hi(name):
if "58" in name:
print(f'Hi, 五八')
elif "ajk" in name:
print(f'Hi, 安居客')
else:
print(f'Hi, python')
if __name__ == '__main__':
print_hi('58')
2-1、命令行方式
1)执行覆盖率测试:coverage run main.py
2)生成覆盖率报告(默认统计代码行覆盖率):coverage report
3)生成html格式的覆盖率报告:coverage html
4)生成分支覆盖率报告:coverage run --branch main.py
生成html格式的覆盖率报告:coverage html
完整的命令行使用说明:http://coverage.readthedocs.org/en/latest/cmd.html
2-2、API方式
import coverage
import main
if __name__ == '__main__':
cov = coverage.coverage() # 创建coverage统计对象
cov.start() # 开始统计
main.print_hi('ajk') # 需要统计的代码块
cov.stop() # 结束统计
cov.save() # 保存结果
cov.report() # 生成控制台报告
cov.html_report() # 生成html报告
完整的API使用说明:http://coverage.readthedocs.org/en/latest/api.html