Укажите имена тестовой базы данных Django в settings.py

Я наследовался бы от ValueError

class IllegalArgumentError(ValueError):
    pass

, иногда лучше создать Ваши собственные исключения, но наследоваться встроенному, которое является максимально близко к тому, что Вы хотите.

, Если необходимо зафиксировать ту определенную ошибку, полезно иметь имя.

28
задан Michael Merchant 26 January 2011 в 20:01
поделиться

1 ответ

В Django 1.6 и ниже TEST_NAME должен быть ключом одного из ваших словарей базы данных. Но в Django 1.7 и выше вы используете клавишу TEST, которая представляет собой словарь настроек для тестовых баз данных.

Вы, вероятно, хотите:

DATABASES = {
 'default':{
   'ENGINE':'mysql',
   'NAME':'testsqldb',
   'USER':'<username>',
   'PASSWORD':'<password>',
   'TEST': {
       'NAME': 'auto_tests',
   }
 },
 'dynamic_data':{
   'ENGINE': 'sqlite3',
   'NAME':'',
   'USER':'',
   'PASSWORD':''
 },
}

В качестве альтернативы, возможно, вы хотите использовать другой двигатель для своих тестов? В этом случае, я думаю, вам просто нужно создать отдельный файл настроек для тестирования. Он может импортировать из вашего стандартного модуля настроек и переопределить DATABASES.

35
ответ дан 28 November 2019 в 03:39
поделиться
Другие вопросы по тегам:

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