Django: Как запустить тесты для пустой (не заполненной) базы данных
При запуске теста "./manage.py" данные из локальной базы данных "postgres" помещаются в базу данных "test_postgres". Я не могу найти способ, как отключить это поведение. Запустив тест "./manage.py", я хочу получить незаполненную базу данных с примененными миграциями.
class Local(Common):
DEBUG = True
# Testing
INSTALLED_APPS = Common.INSTALLED_APPS
INSTALLED_APPS += ('django_nose',)
TEST_RUNNER = 'django_nose.NoseTestSuiteRunner'
NOSE_ARGS = [
BASE_DIR,
'-s',
'--nologcapture',
'--with-coverage',
'--with-progressive'
]
# Postgres
DATABASES = {
'default': dj_database_url.config(
default='postgres://postgres:@postgres:5432/postgres',
conn_max_age=int(os.getenv('POSTGRES_CONN_MAX_AGE', 600)),
)
}
1 ответ
Решение
При запуске теста "./manage.py" данные из локальной базы данных "postgres" помещаются в базу данных "test_postgres".
Нет, это не так. Django создаст новую пустую базу данных для каждого теста.