Search code examples
pythonnosenosetestscoverage.py

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


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?


Solution

  • (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.