Определение местоположения базы данных 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

Вернуться на верх