и создаю тестово один объект, но когда запускаю тест, используется объект из базы, т.к. pk тестово созданного объекта такой же, как у существующего, соответственно, обновляется объект из базы. Подскажите, пожалуйста, как можно исправить это?
пожалуйста
тесты создают временную бд потом уничтожают после, с реальной базой проблем не должно быть
1. перед запуском теста делать дамп данных и после тестов - восстанавливать 2. проводить тесты не на своей базе, а полностью тестовую базу которая поднимается и дропается при каждом запуске тестов
https://developer.mozilla.org/ru/docs/Learn/Server-side/Django/Testing тут примеры
Как вы тестово создаёте объект. Код можете показать ?
Не юзать одну бд ?
Если у тебя связка с Django/unittest, то наследуй тестовые классы от встроенного тестового класса Django (import django.test вроде как, но лучше в доке глянуть) Если юзаешь Django/pytest, то посмотри плагин pytest-django. Там есть декоратор для тестов, чтобы изменений в родной бд не было.
Я могу вам написать в лс?
Я использую django behave
можете если ещё не решили
Тогда первый вариант, используй тестовый класс джанго
Обсуждают сегодня