Disabling nose coverage report to STDOUT when HTML report is enabled?

假装没事ソ 提交于 2020-01-12 14:10:31

问题


I'm using nose (via django-nose) with the coverage plugin to check test coverage of my Django project.

I've configured nose to generate an HTML coverage report on every test run:

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

Now, I want to disable the plain-text coverage report that gets shown after every test run; the HTML is much more functional, and the long badly-formatted table makes it hard to see actual test output. Neither nosetests nor coverage seems to have such an option, or perhaps I just can't find one?


回答1:


(Taken from this related question)

You can install nose-cov:

pip install nose-cov

which has more control over reporting options. Then, change --with-coverage to --with-cover, e.g.

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

which will export to HTML but suppress console output.




回答2:


A quick-and-dirty fix is to comment out the line that generates the unformatted coverage report in nose/plugins/cover.py:

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


来源:https://stackoverflow.com/questions/11725193/disabling-nose-coverage-report-to-stdout-when-html-report-is-enabled

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!