Python代码覆盖率工具

Coverage.py是一个用于测量Python程序代码覆盖率的工具。它监视您的程序,注意代码的哪些部分已经执行,然后分析源代码,以确定哪些代码本可以执行,但没有执行。

覆盖率测量通常用于衡量测试的有效性。它可以显示代码的哪些部分正在由测试执行,哪些部分没有。

一、安装

使用前需要通过命令行或者IDE安装Coverage库

1-1、命令行:

pip install coverage

1-2、IDE:

Python代码覆盖率工具_第1张图片

二、使用

编写一个简单的待测试程序

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

Python代码覆盖率工具_第2张图片

4)生成分支覆盖率报告:coverage run --branch main.py

生成html格式的覆盖率报告:coverage html

Python代码覆盖率工具_第3张图片

完整的命令行使用说明: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报告

Python代码覆盖率工具_第4张图片

完整的API使用说明:http://coverage.readthedocs.org/en/latest/api.html

你可能感兴趣的:(覆盖率,python,测试覆盖率)