2012-07-30 10 views
10

Ich verwende nose (über django-nose) mit der coverage plugin, um die Testabdeckung meines Django-Projekts zu überprüfen.Nasenberichtsbericht auf STDOUT deaktivieren, wenn HTML-Bericht aktiviert ist?

I Nase so konfiguriert haben, einen HTML-Berichterstattung Bericht auf jedem Testlauf zu generieren:

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

Jetzt möchte ich die Klartext-Berichterstattung Bericht deaktivieren, die nach jedem Testlauf gezeigt wird; Der HTML-Code ist viel funktionaler und die lange schlecht formatierte Tabelle macht es schwierig, die tatsächliche Testausgabe zu sehen. Weder nosetests noch coverage scheint eine solche Option zu haben, oder vielleicht kann ich einfach keine finden?

Antwort

2

(Entnommen this related question)

Sie nose-cov installieren:

pip install nose-cov 

, die mehr Kontrolle über Berichtsoptionen hat. Dann ändern Sie --with-coverage zu --with-cover, z.

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

, die in HTML exportieren, sondern Konsolenausgabe unterdrücken.

+0

Vielen Dank! Die Frage ist nicht genau dasselbe (der Benutzer hatte versehentlich eine "mit Abdeckung"), aber "nose-cov" ist perfekt. – supervacuo

0

A quick-and-dirty fix ist die Zeile auszukommen, die die unformatierte Berichterstattung Bericht in nose/plugins/cover.py erzeugt: kann

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

keine Sorge, Drive-by Down-Voter, ich immer noch ♥ Sie sowieso .. – supervacuo