Я видел testcase.setuptestData, который немного улучшает скорость тестирования в моем случае. < /p>
Я обычно предпочитаю питестские приспособления вместо классов Testcase. Однако, когда я делаю приспособление для сессии, которое выполняет подготовку данных, необходимые для всех тестов с прибором, я получаю < /p>
runtimeerror: доступ к базе данных не разрешен, используйте Марка "django_db" или «DB» или «TransactionAl_DB». /72261942/29412366, но это не имело никакого эффекта.
Как я могу сохранить и повторно использовать состояние DB в приложении Django при тестировании с использованием pytest?
Я использую In-Memory SQLite3 DB.@pytest.mark.django_db
@pytest.fixture(scope='session')
def thing(django_db_setup, django_db_blocker):
del django_db_setup # Cannot be used with usefixtures(..) it won't work
with django_db_blocker.unblock():
print('sleeping')
Thing.objects.create(thing='hello')
< /code>
и ожидал, что тест успешно запускается + сэкономить время. Вместо этого я получил упомянутый выше.>
Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-django