2011-12-20 3 views
13

私はジャンゴで私のテストを実行すると、私はこれらのように、南からのデバッグ出力のいくつかのページ、持って失敗した後、: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 "[]" 

そして、すべてこのログ出力とを、関連するエラーメッセージはの海で失われますごみ。この出力を無効にする方法はありますか?

+0

これは本当に便利なポストです。http://pypede.wordpress.com/2012/06/17/disable-south-debug-logging-when-testing-apps-with-nose-in-django/ –

答えて

14

これはコードのどこかに入れます。私はmyapp/migrations/__init__.py

私は私の設定でこれを設定することができる午前
import logging 
south_logger=logging.getLogger('south') 
south_logger.setLevel(logging.INFO) 
7

setting.pySOUTH_TESTS_MIGRATEFalseを設定できます。これにより、テスト中のすべての移行が無効になります。私はそれが正確に何をしたいではありません知っているが、希望はこれがFalseの場合、南のテストランナーの統合がテスト データベースをsyncdbの実行を使用して作成させるのではなく、マイグレーション( デフォルト)を経由してます

便利になります。テストを実行するたびにマイグレーションするのに、 という長すぎるマイグレーションがある場合は、これをFalseに設定します。ただし、マイグレーション を使用して特別な作業を行う場合は注意が必要です。

+0

はい、これは私の問題を解決するものではありません。データ移行に依存します。しかし、これらのメッセージはとても厄介なので、テストを再設計することは問題になるでしょう...ありがとう! – lfagundes

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

/testing.pyでそれを持っている。また

この場合のみ、あなたのジャンゴ - 鼻のテストであなたを悩ませている

nosetests --nologcapture 
追加
関連する問題