– The transaction argument will allow the test to use real transactions. With transaction=False (the default when not specified), transaction operations are noops during the test.
Если установить тру, то в базу будет, записываться. если фолс - нет?
пробую на месте проверить через MdeolName.objects.create().
Через MdeolName.objects.all() в обоих случаях получаю все соазднные мной экземпляры и в обоих случаях в базе пусто.
не могу понять что делаю не так или как это вообще понимать. если кто может разъяснить или кинет ссылкой - буду благодарен
При тестах создается отдельная бд, после тестов она удаляется
у меня есть отдельна база. test_.... когда я дропаю ее - первый тест запускается очень долго, потому что накатываются миграции. если прервать выполнение теста, или убить процесс, то при следующем запуске зачастую выбрасыватся ошибка о том что какие то данные из фикстур уже присутствуют в базе. получается, что база как то не удаляется после теста?
Ну если прерываешь, то не удаляется. Нужно удалять
вопрос не совсем в этом. вопрос в отличии между pytest.mark.django_db(transaction=False) /pytest.mark.django_db(transaction=True) . из доки мне понятнее не стало как оно работает и в чем отличие)
https://djbook.ru/rel3.0/topics/testing/tools.html#django.test.TransactionTestCase если это поможет там чуть выше предупреждения по русски описано =)
Обсуждают сегодня