安装
您可以通常的方式安装coverage.py。最简单的方法是使用pip:
$ pip install coverage
要安装预发布版本,您需要指定--pre
:
$ pip install --pre coverage
C扩展
Coverage.py包含速度的C扩展。强烈建议使用此扩展:它更快,并且需要支持许多coverage.py功能。大多数情况下,C扩展程序将在没有任何特殊操作的情况下安装。
如果您在Linux上安装,则可能需要在通过pip安装coverage之前安装python-dev和gcc支持文件。确切的命令取决于您使用的包管理器,您使用的Python版本以及您的发行版的包的名称。例如:
$ sudo apt-get install python-dev gcc
$ sudo yum install python-devel gcc
$ sudo apt-get install python3-dev gcc
$ sudo yum install python3-devel gcc
您可以通过查看以下输出来确定您是否正在使用扩展 :coverage --version
$ coverage --version
Coverage.py, version 4.5.1 with C extension
Documentation at https://coverage.readthedocs.io
应用
命令行使用说明: 详见:http://nedbatchelder.com/code/coverage/cmd.html
最关键核心的几个参数使用如下:
1. run
执行代码覆盖率统计,只需要通过coverage的run参数执行被统计代码即可。
coverage run --source='.' manage.py test myapp
跑完后,会自动生成一个覆盖率统计结果文件(data file):.coverage。如果要修改这个默认的文件名也可以,只要设置COVERAGE_FILE环境变量。
2. report
有了覆盖率统计结果文件,只需要再运行report参数,就可以在命令里看到统计的结果。
Name Stmts Exec Cover
---------------------------------------------
my_program 20 16 80%
my_module 15 13 86%
my_other_module 56 50 89%
---------------------------------------------
TOTAL 91 79 87%
---------------------------------------------
my_program 20 16 80%
my_module 15 13 86%
my_other_module 56 50 89%
---------------------------------------------
TOTAL 91 79 87%
3. html
最帅最酷的功能了,直接生成html的测试报告。
$ coverage html
生成的报告非常酷,直接关联代码,高亮显示覆盖和未覆盖的代码,支持排序