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



我使用nose(通过django-nose)和覆盖插件来检查我的django项目的测试覆盖率。

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

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

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

(取自相关问题)

您可以安装nose-cov:

pip install nose-cov

它对报告选项有更多的控制权。然后,将--with-coverage更改为--with-cover例如

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

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

一个快速而肮脏的修复方法是注释掉nose/plugins/cover.py:中生成未格式化覆盖率报告的行

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

最新更新