Как изменить БД для тестов?

В мануале пишут, что при тесте приложения создается новая БД и все проходит в ней. После прохождения тестов она удаляется. Но в моей случае все тесты на основной БД проходят. После теста в основной БД новые записи. Подскажите в чем причина этого явления?

# Database
# https://docs.djangoproject.com/en/1.7/ref/settings/#databases

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}


Модели в тестах юзаю через Factory Boy. Но это по сути не имеет значения.
  • Вопрос задан
  • 257 просмотров
Решения вопроса 2
@hsc
full stack python back-end developer
Привет. Создайте отдельный settings.py для тестов и запускайте на нем. Еще совет: используйте in-memory sqlite - быстрее в разы.
Ответ написан
un1t
@un1t
У меня для тестов отдельные настройки в testing_settings.py

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': ':memory:',
    }
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы