Определение местоположения базы данных SQLite 3 в модульных тестах проекта Django
Я пытаюсь добавить больше тестов для этого проекта Django. У меня возникают трудности с загрузкой базы данных SQLite и отладкой. Простым способом отладки было бы обращение к базе данных SQLite 3 во время тестирования. Как мне найти местоположение базы данных SQLite 3 в модульных тестах проекта Django и посмотреть, тестируются ли мои конечные точки так, как я ожидаю?
Например, в файле ontest.py есть:
from django.test import Client
client = Client()
Существует ли способ реинжиниринга этого класса и нахождения файла хранения SQLite 3?
Django по умолчанию использует для тестов хранимую в памяти базу данных sqlite. Поэтому она не создает файл. Если вам нужно использовать физический файл, вам придется изменить настройки/конфиг файла django. B
В качестве примера вы можете сделать следующее:
PATH_TO_TEST_DB = SOME_PATH
TEST_DB_FILE_NAME = 'db_test.sqlite3'
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': PATH_TO_TEST_DB + TEST_DB_FILE_NAME),
}
}
Если вы решили использовать отдельный файл настроек для тестирования, вы можете запускать тесты с ним с помощью этой команды
python manage.py test --settings=yourproject.test_settings