Уведомления

Группа в Telegram: присоединиться | Jabber-конференция сообщества: pythonua@conference.jabber.ru

#1 Апрель 17, 2017 14:33:00

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 118
Репутация: +  0  -
Профиль   Отправить e-mail  

Тестирование в другой базе

Здравствуйте!

Такой вопрос:
Есть Джанго-проект, использующий Postgres. Написал для него несколько тестов, вроде даже заставил их правильно работать. При запуске тестов какое-то время создаётся база, после она удаляется. Есть желание ускорить это (возможно, я хочу слишком многого…)
Можно ли настроить Джанго так, чтобы тесты выполнялись через SQLite в памяти, а для основной работы использовалась бы Postgres?



Офлайн

#2 Апрель 17, 2017 16:17:44

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 5943
Репутация: +  405  -
Профиль   Отправить e-mail  

Тестирование в другой базе

Striver
после она удаляется
Базу можно не удалять, для этого у команды test есть ключ –keepdb

Вообще, когда вы запускаете ./manage.py то файл настроек читается каждый раз заново, и вам никто не мешает проверить наличие параметра test в sys.args и сконфигурировать ваш проект как вам угодно специально для тестов.

 #settings.py
if "test" in sys.args:
    DATABASES = ....
else:
    DATABASES = ....



Офлайн

#3 Апрель 17, 2017 17:09:04

Striver
От:
Зарегистрирован: 2006-10-26
Сообщения: 118
Репутация: +  0  -
Профиль   Отправить e-mail  

Тестирование в другой базе

Спасибо! Работает.
Только не sys.args, а sys.argv



Офлайн

#4 Апрель 29, 2017 20:49:51

inoks
От: Russia
Зарегистрирован: 2012-12-11
Сообщения: 333
Репутация: +  35  -
Профиль   Адрес электронной почты  

Тестирование в другой базе

FishHook
когда вы запускаете ./manage.py то файл настроек читается каждый раз заново
Можно отдельные настройки для тестирования сделать.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version