2012-07-30 53 views
10

我使用nose(通過django-nose)與coverage plugin來檢查我的Django項目的測試覆蓋率。啓用HTML報告時禁用機頭覆蓋報告爲STDOUT?

我已經配置了鼻子,生成每個測試運行的HTML覆蓋報告:

NOSE_ARGS = [                 
    '--with-coverage',                
    '--cover-package=foot',              
    '--cover-html',                
    '--cover-html-dir=cover', 
] 

現在,我想禁用得到每個測試運行後顯示的純文本覆蓋報告; HTML功能更強大,而格式不正確的表格很難查看實際的測試輸出。 nosetestscoverage似乎都沒有這樣的選擇,或者我可能找不到一個?

回答

2

(來自this related question兩者)​​

您可以安裝nose-cov

pip install nose-cov 

它對報告選項有更多的控制權。然後,將--with-coverage更改爲--with-cover,例如,

NOSE_ARGS = [ 
'--with-cov', 
'--cov-report', 'html', 
] 

將文件導出爲HTML,但抑制控制檯輸出。

+0

謝謝!問題不是*完全相同(該用戶誤用了「--with-coverage」),但是「nose-cov」是完美的。 – supervacuo 2014-07-21 09:15:26

0

快速和骯髒的解決方法是註釋掉生成nose/plugins/cover.py未格式化的覆蓋率報告線:

def report(self, stream): 
    .... 
    log.debug("Coverage report will cover modules: %s", modules) 
    #self.coverInstance.report(modules, file=stream) 
+0

不用擔心,駕駛的低頭選民,我仍然♥你無論如何.. – supervacuo 2016-06-20 09:38:12