2010-12-21 27 views
24

從覆蓋率報告中排除南遷移,我使用coverage.py來檢查我的django應用程序的測試覆蓋率。但是,因爲我使用South進行數據庫遷移,所有這些文件都顯示爲0%,並且混淆了總體百分比。如何使用coverage.py

我已經嘗試在runreport(以及兩者)中都使用--omit=*migrations*,但這並不奏效。

我在2010年12月20日試過了Bitbucket的版本3.4和最新版本,結果相同。

任何想法如何讓coverage.py實際上忽略遷移文件夾?

回答

19

您應該能夠匹配遷移目錄以忽略這些文件。你有沒有試過引用這個論點?根據你的操作系統和shell,它可能會過早地擴大這些星號。試着這樣說:

--omit='*migrations*' 

或者,你可以把交換機成.coveragerc文件:

[run] 
omit = *migrations* 
25

的解決方案是:

[run] 
omit = ../*migrations* 
+0

同意,這個工作對我來說也是如此。 – slacy 2011-12-14 22:54:17

+0

我正在使用鼻子測試,不讓你把所有的參數傳入coverage.py,這也適用於我。 – 2012-09-11 06:32:34

2

最新的django-jenkins版本有新的選擇COVERAGE_WITH_MIGRATIONS將會排除遷移。它不在PyPI中,所以你需要使用pip/easy_install specyfing url git url作爲源代碼來安裝它。

-3

嘗試:

coverage run --source=. manage.py test app_name 

這忽略第三方代碼和修復您的問題%

0

這爲我工作:

coverage run --source='.' --omit='*/migrations/*.py' manage.py test 
相關問題