启用HTML报告时,禁用鼻子覆盖率报告到STDOUT?

时间:2012-07-30 16:03:41

标签: python nose nosetests coverage.py

我正在使用nose(通过django-nose)和coverage plugin来检查我的Django项目的测试覆盖率。

我已配置nose以在每次测试运行时生成HTML覆盖率报告:

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

现在,我想禁用每次测试运行后显示的纯文本覆盖率报告; HTML功能更强大,而且格式错误的表格使得很难看到实际的测试输出。 nosetestscoverage似乎都没有这样的选择,或者我可能找不到一个?

2 个答案:

答案 0 :(得分:2)

(取自this related question

您可以安装nose-cov

pip install nose-cov

可以更好地控制报告选项。然后,将--with-coverage更改为--with-cover例如

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

将导出为HTML但会抑制控制台输出。

答案 1 :(得分:1)

快速而肮脏的解决方法是在nose/plugins/cover.py中注释掉生成无格式覆盖率报告的行:

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