Deaktivieren Sie die Protokollierung während des manage.py-Tests?

7

Ich verwende das Standard-Python-Logging-Modul. Wenn ich python manage.py test aufruft, möchte ich die Protokollierung deaktivieren, bevor alle Tests ausgeführt wurden. Gibt es ein Signal oder einen anderen Haken, mit dem ich logging.disable aufrufen könnte? Oder gibt es eine andere Möglichkeit, die Protokollierung zu deaktivieren, wenn python manage.py test ausgeführt wird?

    
Eric Palakovich Carr 12.06.2010, 22:11
quelle

7 Antworten

2

Der einzige Weg, den ich kenne, ist manage.py selbst zu bearbeiten ... natürlich nicht sehr elegant, aber zumindest sollte es dich dahin bringen, wo du sein musst.

    
Alex Martelli 13.06.2010, 03:48
quelle
12

Es gibt tatsächlich einen viel besseren Weg dazu, mit django-nose gibt es einen Kwarg:

>

Einfach ausführen:

%Vor%     
Rmatt 03.12.2012 11:39
quelle
9

Als einfache Alternative können Sie die Protokollierung deaktivieren, wenn Sie Tests in Ihrer Einstellungsdatei wie folgt ausführen:

%Vor%     
Dick 26.09.2010 14:04
quelle
6

Einfachste Sache, die ich benutzt habe:

%Vor%

Dies erfordert keine Bearbeitung, Patches, zusätzliche Installationen und so weiter. Die Protokollierung ist komplett ausgeschaltet.

    
Scott A 03.03.2013 22:50
quelle
4

Ich bevorzuge Lauftests mit separatem settings_test.py, wo ich unnötige Anwendungen, Middleware und andere Sachen entfernen kann, die ich während des Tests nicht brauche. Und ich kann auch hier die Protokollierung deaktivieren:

%Vor%     
ramusus 06.12.2010 20:45
quelle
1

Ich habe test_extensions gepatcht, um das auch zu tun.

    
Matthew Schinckel 13.07.2010 06:34
quelle
0

Wenn Sie django-nose verwenden, können Sie das folgende Snippet zu Ihrer settings.py -Datei hinzufügen Deaktivieren der Protokollausgabe, wenn ./manage.py test

ausgeführt wird %Vor%     
Aaron Lelevier 16.10.2015 14:19
quelle

Tags und Links