Python使用Coverage进行代码覆盖率统计

        Coverage 是用于统计 Python 代码覆盖率的工具,支持分支覆盖率统计,生成 HTML 格式的统计报告,Coverage利用到了Python虚拟机的trace机制。

        首先需要安装Coverage:

pip install coverage

        Coverage有两种方式统计代码覆盖率:

①Coverage命令行

②Coverage API

官方文档:https://coverage.readthedocs.io/en/latest/api.html

        首先编写具体的测试代码:

def hello():
    print('hello')

        这里只是简单测试,具体其余业余代码可以自己完善。

        Coverage命令行:

        进入刚才编写好的coverage_test所在的目录,使用命令:

coverage run coverage_test.py

        执行完毕可以输出报告:

coverage report

        报告如下:

Python使用Coverage进行代码覆盖率统计_第1张图片

        可以生成html的详细报告:

coverage html

        然后再当前目录下回生成htmlcov的文件夹,使用浏览器打开index.html即可查看详细报告:

Python使用Coverage进行代码覆盖率统计_第2张图片

 Python使用Coverage进行代码覆盖率统计_第3张图片

        点击进去看详细:

Python使用Coverage进行代码覆盖率统计_第4张图片

         Coverage API

        API方式也很简单:

import coverage

if __name__ == '__main__':
    cov = coverage.coverage()
    cov.start()
    # 这里放自己具体测试的代码
    hello()
    cov.stop()
    cov.save()
    cov.report()
    cov.html_report()

        这里需要注意的是,如果要生成报告,必须要使用save()方法,具体的方法可以参考官方文档。有些时候,可能值需要看特定的py文件的报告,可以在coverage.coverage()指定参数,比如:

cov = coverage.coverage(include=['*/coverage_test.py'])

        如果要排除某些文件,参数是omit,具体可以看源码:

Python使用Coverage进行代码覆盖率统计_第5张图片

你可能感兴趣的:(Python,python,coverage)