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 

    生成的報告很是酷,直接關聯代碼,高亮顯示覆蓋和未覆蓋的代碼,支持排序

相關文章
相關標籤/搜索