Coverage

概述:本地单元测试统计工具——Coverage

[TOC]

Coverage

Coverage是Python的一种统计测试覆盖率的包,官网链接

1.install

1
pip install coverage

2.执行代码覆盖率统计

1
coverage run test.py arg1 arg2

3.生成报告

1
coverage report

4.生成网页报告

1
2
coverage html -d covhtml
# 其中-d表示指定文件夹covhtml

5.直接使用代码

1
2
3
4
5
6
7
import coverage
cov = coverage.coverage(source = ['totest']) # source指定要执行统计的文件, 仅统计totest.py的覆盖率
cov.start()
#coding
cov.stop()
cov.report()
cov.html_report(directory='covhtml') # directory指定生成html的路径

6.配置文件

在当前目录下新建.coveragerc文件

1
2
3
4
5
6
[run]
branch = True
source = .

[report]
show_missing = True

配置文件遵循ini文件语法,使用#或者;添加注释,[section]代表一个配置块,例如[run]是一个配置块,其中branch=True表示是否统计条件语句的分支覆盖情况,例如统计if语句下True和False的两种情况;source=.表示指定需要统计的源代码目录,例如.表示当前目录;show_missing=True表示生成的统计报告中是否显示未覆盖的代码行号。

7.Django运行Coverage

1
2
3
coverage run manage.py test

cov.html_report(directory='covhtml') # directory指定生成html的路径

8.示例

![image-20210325200010126](/Users/junmingguo/Library/Application Support/typora-user-images/image-20210325200010126.png)