Тестирование базы данных django sqlite3 с помощью pytest в CI

У меня есть класс updater, который обновляет таблицы базы данных (изменяет, удаляет, добавляет).

Мне нужно написать тесты для этого апдейтера. Эти тесты будут вызываться в gitlab CI.

python3.9 project/manage.py makemigrations
python3.9 project/manage.py migrate
pytest -s -v --cov --cov-config .coveragerc -ra --tb=short {posargs:}

"Тестовая" база данных не содержит необходимых таблиц до вызова миграций. Мне кажется, что существует "механизм pytest", который позволяет создать поддельный экземпляр базы данных sqlite3 с выполненными миграциями, но я не знаю :D.

Конфигурация базы данных Django:

DATABASES = {
    "default": {
        "ENGINE": "django.db.backends.sqlite3",
        "NAME": os.path.join(BASE_DIR, "db.sqlite3"),
        "TEST": {
            "MIRROR": "default"
        }
    },
}

Я уже установил pytest-django и отметил тест с помощью pytest.mark.django_db.

Является ли это подходящим способом тестирования?

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