我使用nose(通过django-nose)和覆盖插件来检查我的django项目的测试覆盖率。
我已经将nose配置为在每次测试运行时生成HTML覆盖率报告:
NOSE_ARGS = [
'--with-coverage',
'--cover-package=foot',
'--cover-html',
'--cover-html-dir=cover',
]
现在,我想禁用每次测试运行后显示的纯文本覆盖率报告;HTML的功能要强大得多,而格式糟糕的长表使得很难看到实际的测试输出。nosetests
和coverage
似乎都没有这样的选择,或者我就是找不到?
(取自相关问题)
您可以安装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)