2011-12-20 5 views
13

Gdy uruchomię moich testów w Django, po nie mam kilka stron debugowania z południa, takie jak:Jak wyłączyć rejestrowanie debugowania południowego w django?

south: DEBUG: south execute "CREATE INDEX "sometable_4d5bad5" ON "video_playable" ("network_id");" with params "[]" 
south: DEBUG: south execute "CREATE INDEX "sometable_790e6d98" ON "video_playable" ("published");" with params "[]" 
south: DEBUG: south execute "CREATE INDEX "sometable_72312277" ON "video_playable" ("archived");" with params "[]" 

iz wszystkimi tego wyjścia logowania, odpowiednie komunikaty o błędach są utracone w morzu Śmieci. Czy istnieje sposób, aby wyłączyć to ouput?

+0

to jest naprawdę pomocny post - http://pypede.wordpress.com/2012/06/17/disable-south-debug-logging-when-testing-apps-with-nose-in-django/ –

Odpowiedz

14

umieścić to gdzieś w kodzie. Mam go w myapp/migrations/__init__.py

import logging 
south_logger=logging.getLogger('south') 
south_logger.setLevel(logging.INFO) 
7

Możesz ustawić SOUTH_TESTS_MIGRATE na False w swoim setting.py. Spowoduje to wyłączenie wszystkich migracji podczas testów. Wiem, że to nie jest dokładnie to, co chcesz, ale nadzieja będzie przydatna

Jeśli jest to fałsz, integracja testy biegacz Południa zrobi test baza być tworzone za pomocą syncdb, zamiast poprzez migracje (domyślnie ). Ustaw tę wartość na False, jeśli migracja trwa zbyt długo, aby migrować za każdym razem, gdy testy są uruchomione, ale zachowaj ostrożność, jeśli polegasz na migracji , aby robić specjalne rzeczy.

+0

tak, to nie rozwiązuje dokładnie mojego problemu, ponieważ obecnie moja te sts zależy od migracji danych. ale te wiadomości są tak denerwujące, że przeprojektowanie testów jest warte kłopotów ... dzięki! – lfagundes

3
import logging 
import south.logger 
logging.getLogger('south').setLevel(logging.CRITICAL) 

jestem w stanie ustawić to w moim otoczeniu/testing.py

Także jeśli to przeszkadza Ci tylko ze swoimi testach Django nos dodać

nosetests --nologcapture