我正在使用nose(通过django-nose)和coverage plugin来检查我的Django项目的测试覆盖率。
我已配置nose以在每次测试运行时生成HTML覆盖率报告:
NOSE_ARGS = [
'--with-coverage',
'--cover-package=foot',
'--cover-html',
'--cover-html-dir=cover',
]
现在,我想禁用每次测试运行后显示的纯文本覆盖率报告; HTML功能更强大,而且格式错误的表格使得很难看到实际的测试输出。 nosetests
和coverage
似乎都没有这样的选择,或者我可能找不到一个?
答案 0 :(得分:2)
您可以安装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)