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

安装

您能够一般的方式安装coverage.py。最简单的方法是使用pip:html

$ pip install coverage

要安装预发布版本,您须要指定--prepython

$ pip install --pre coverage

C扩展

Coverage.py包含速度的C扩展。强烈建议使用此扩展:它更快,而且须要支持许多coverage.py功能。大多数状况下,C扩展程序将在没有任何特殊操做的状况下安装。app

若是您在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 --versionspa

$ coverage --version
Coverage.py, version 4.5.1 with C extension Documentation at https://coverage.readthedocs.io

应用

命令行使用说明: 详见:http://nedbatchelder.com/code/coverage/cmd.html命令行

最关键核心的几个参数使用以下:code

1. runhtm

执行代码覆盖率统计,只须要经过coverage的run参数执行被统计代码便可。blog

    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 

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

相关文章
相关标签/搜索