2013-10-03 8 views
8

Gibt es eine Möglichkeit, den erfassten Protokollierungsinformationenblock zu unterdrücken (d. H. Ausblenden), den der Factory Boy generiert, wenn ein Test fehlschlägt oder einen Fehler generiert? Ich spreche über diese:suppress factory_boy erfasste Protokollierungsinformationen?

SomeError: you encountered an error 
----------- >> begin captured loggin << ----------- 
... DEBUG information 
----------- >> end captured loggin << ------------- 

--------------------------------------------------- 
Ran 1 test... 

Oft sind diese Informationen nicht relevant oder notwendig, das Problem zu lösen, und es ist nur eine Menge Sachen, die ich haben Vergangenheit, um nach oben zu sehen, was den Fehler verursacht hat.

Danke.

Antwort

17

Sie können die factory_boy Protokollierung ändern Ebene mit:

import logging 
logging.getLogger("factory").setLevel(logging.WARN) 

Ersetzen WARN mit welcher Ebene auch immer Sie wollen. Ich weiß nicht, wo ich das in eine Django-Umgebung bringen soll, aber Sie können dies in Ihre Testdatei oder einen globalen Initialisierer einfügen.

Dies sollte jede Protokollierung außer tatsächliche factory_boy Fehler & Warnungen unterdrücken.

Weird default, seit factory_boy debuggen ist selten hilfreich und ist unglaublich ausführlich.

+1

Danke Jim! Es hat wie ein Zauber funktioniert. Das wird mir viele Scrolls sparen. – William