2012-07-30 54 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