Отключение отчета о покрытии носа в STDOUT, когда отчет HTML включен?

Я использую nose (через django-nose) с плагин покрытия для проверки тестового покрытия моего проекта Django.

Я настроил нос для создания отчета о покрытии HTML при каждом запуске теста:

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

Теперь я хочу отключить отчет о покрытии в виде простого текста, который отображается после каждого запуска теста; HTML гораздо более функционален, а длинная плохо отформатированная таблица затрудняет просмотр фактического вывода теста. Ни у nosetests, ни у coverage такой возможности нет, или я просто не могу найти?


person supervacuo    schedule 30.07.2012    source источник


Ответы (2)


(Взято из этого связанного вопроса)

Вы можете установить nose-cov:

pip install nose-cov

который имеет больший контроль над параметрами отчетности. Затем измените --with-coverage на --with-cover, например,

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

который будет экспортировать в HTML, но подавлять вывод консоли.

person scjody    schedule 18.07.2014
comment
Спасибо! Вопрос не точно тот же (этот пользователь по ошибке включил --with-coverage), но nose-cov идеально подходит. - person supervacuo; 21.07.2014

Быстрое и грязное исправление состоит в том, чтобы закомментировать строку, которая генерирует неформатированный отчет о покрытии в nose/plugins/cover.py:

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