代码成就万世基积沙镇海,梦想永在凌云意意气风发。

Python 测试代码覆盖率统计工具 coverage.py

安装

您可以通常的方式安装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参数,就可以在命令里看到统计的结果。

    $ coverage 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%
 
 

3. html

    最帅最酷的功能了,直接生成html的测试报告。

    $ coverage html 

    生成的报告非常酷,直接关联代码,高亮显示覆盖和未覆盖的代码,支持排序

posted @ 2018-08-09 10:31  Tomorrow1  阅读(1330)  评论(0编辑  收藏  举报