Отключить Django South при запуске модульных тестов? Как избежать запуска всех южных миграций при модульном тестировании django?
Отключить Django South при запуске модульных тестов?
Ответы (2)
Да, южная документация описывает, как это сделать, но в основном просто добавьте это в свои настройки. .py-файл:
SOUTH_TESTS_MIGRATE = False # To disable migrations and use syncdb instead
SKIP_SOUTH_TESTS = True # To disable South's own unit tests
person
Andrew C
schedule
27.04.2011
Это не отключит юг от запуска миграций, он только представит югу от запуска собственных модульных тестов. См. сообщение kiddouck о том, как отключить все южные миграции при выполнении модульного тестирования django.
- person Philip Clarke; 20.09.2011
Спасибо @ephesian, это исправлено.
- person Andrew C; 20.09.2011
Несмотря на то, что вы выбрали правильный ответ, я думаю, что вам следует рассмотреть вариант SOUTH_TESTS_MIGRATE вместо этого. Это предотвратит запуск всех миграций в вашей тестовой базе данных и вместо этого запустит syncdb
.
person
kiddouk
schedule
18.05.2011
south
из INSTALLED_APPS, вы можете запретить выполнение его тестов. - person Torsten Engelbrecht   schedule 27.04.2011User
. Однако у меня есть пользовательское поле pk в файлеUser
. Следовательно, когда я запускаю тест и выполняется миграция0001_initial
для этого стороннего модуля, он создает ограничение в тестовой базе данных с неправильным именем поля для таблицыuser
. Вот почему мне нужно отключить миграцию при запуске модульного тестирования. - person OrPo   schedule 27.05.2013