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 создаст новую пустую базу данных для каждого теста.

Другие вопросы по тегам