2012-07-30 10 views
10

Używam nose (przez django-nose) z coverage plugin do sprawdzenia pokrycia testowego mojego projektu Django.Wyłączanie raportu zasięgu nosa do STDOUT, gdy włączony jest raport HTML?

mam skonfigurowane nos wygenerować raport HTML pokrycia na każdym biegu Test:

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

Teraz chcę wyłączyć raport zasięgu zwykłego tekstu, który zostanie pokazany po każdym biegu testowego; HTML jest znacznie bardziej funkcjonalny, a długa źle sformatowana tabela sprawia, że ​​trudno jest zobaczyć rzeczywiste wyniki testu. Ani nosetests ani coverage wydaje się mieć taką opcję, a może po prostu nie mogę znaleźć?

Odpowiedz

2

(Taken from this related question)

Można zainstalować nose-cov:

pip install nose-cov 

który ma większą kontrolę nad opcjami raportowania. Następnie zmień --with-coverage na --with-cover, np.

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

który będzie eksportować do formatu HTML, ale tłumią wyjścia konsoli.

+0

Dzięki! Pytanie nie jest * dokładnie * takie samo (że użytkownik miał przez pomyłkę '--with-coverage'), ale' nose-cov' jest doskonały. – supervacuo

0

Szybkie i-brudny poprawka jest do ustosunkowania się wiersz, który generuje niesformatowany raport pokrycia w nose/plugins/cover.py:

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

Nie martw się, przejedź, w dalszym ciągu ♥ I tak ... – supervacuo