Как настроить django дБ со схемой в контесте, чтобы каждый тестовый случай запускался в соответствии с настройкой в ​​контесте - PullRequest
0 голосов
/ 06 февраля 2020

Я хотел бы запустить тестовые случаи под django db без использования флага reuse-db. Я планирую использовать -no-migrations flag plus и conftest setup, чтобы убедиться, что мои тестовые задания выполняются с правильной настройкой db.

У меня есть пример, подобный этому, в conftest.py, который я планировал использовать,

def setup_django_test_db(db):
    schemas = ['test1', 'test2', 'test3']
    with db.connection.cursor() as cursor:
        for schema in schemas:
            cursor.execute(f"create schema {schema}")
        cursor.commit()

Мои тестовые примеры основаны на этой схеме. Но этот код не работает, когда я запускаю все тесты. Это все еще вызывает у меня schema doesn't exsits ошибку. Может кто-нибудь помочь мне, если я что-то упустил при настройке тестовой базы данных?

Или есть ли способ сделать что-то вроде pytest.mark.django_use("schema_name"), чтобы украсить контрольный пример, чтобы этот тест мог выполняться с указанием c имя схемы. И как мне обернуть настроенный маркер настройкой схемы?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...