当我在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 :(得分:15)
将它放在代码中的某个位置。我在myapp/migrations/__init__.py
import logging
south_logger=logging.getLogger('south')
south_logger.setLevel(logging.INFO)
答案 1 :(得分:7)
您可以在False
中将SOUTH_TESTS_MIGRATE设为setting.py
。这将禁用测试期间的所有迁移。我知道这不是你想要的,但希望是有用的
如果这是假的,South的测试运行器集成将进行测试 数据库是使用syncdb创建的,而不是通过迁移( 默认)。如果迁移时间过长,请将此项设置为False 每次测试运行时进行迁移,但如果依赖迁移则要小心 做特别的事。
答案 2 :(得分:3)
import logging
import south.logger
logging.getLogger('south').setLevel(logging.CRITICAL)
我可以在我的设置/ testing.py
中设置它此外,如果这只是困扰你的django-nose测试添加
nosetests --nologcapture