從覆蓋率報告中排除南遷移,我使用coverage.py來檢查我的django應用程序的測試覆蓋率。但是,因爲我使用South進行數據庫遷移,所有這些文件都顯示爲0%,並且混淆了總體百分比。如何使用coverage.py
我已經嘗試在run
和report
(以及兩者)中都使用--omit=*migrations*
,但這並不奏效。
我在2010年12月20日試過了Bitbucket的版本3.4和最新版本,結果相同。
任何想法如何讓coverage.py實際上忽略遷移文件夾?
從覆蓋率報告中排除南遷移,我使用coverage.py來檢查我的django應用程序的測試覆蓋率。但是,因爲我使用South進行數據庫遷移,所有這些文件都顯示爲0%,並且混淆了總體百分比。如何使用coverage.py
我已經嘗試在run
和report
(以及兩者)中都使用--omit=*migrations*
,但這並不奏效。
我在2010年12月20日試過了Bitbucket的版本3.4和最新版本,結果相同。
任何想法如何讓coverage.py實際上忽略遷移文件夾?
你試過django_coverage。我認爲它處理這種問題。
您應該能夠匹配遷移目錄以忽略這些文件。你有沒有試過引用這個論點?根據你的操作系統和shell,它可能會過早地擴大這些星號。試着這樣說:
--omit='*migrations*'
或者,你可以把交換機成.coveragerc文件:
[run]
omit = *migrations*
的解決方案是:
[run]
omit = ../*migrations*
最新的django-jenkins版本有新的選擇COVERAGE_WITH_MIGRATIONS將會排除遷移。它不在PyPI中,所以你需要使用pip/easy_install specyfing url git url作爲源代碼來安裝它。
嘗試:
coverage run --source=. manage.py test app_name
這忽略第三方代碼和修復您的問題%
這爲我工作:
coverage run --source='.' --omit='*/migrations/*.py' manage.py test
同意,這個工作對我來說也是如此。 – slacy 2011-12-14 22:54:17
我正在使用鼻子測試,不讓你把所有的參數傳入coverage.py,這也適用於我。 – 2012-09-11 06:32:34