можно вернуть состояние бд, до выполнения теста, чтобы текущие изменения не влияли на следующие тесты? (например в след тесте ожидается 5 записей, а из-за внесенных изменений предыдущим тестом пришло 6)
запускать тест в транзакции
А, реально
еще и про rollback забыл :(
Пересоздавать БД между каждым тестом
Это че то из джанги, тут такое не приветствуется
тогда будет проблема с дебагом, иногда удобно посмотреть что находится в базе и почему не проходит тест
Что ты несешь?
В джанге под каждый кейс миграции прогоняются
Не пизди пазязя
Никто не мешает для конкретного запуска залезть, убрать откат и заняться отладкой, потом так же вручную все грохнуьь
не, если транзакцию не закомиттить, то не получится из клиента, например, увидеть промежуточный результат
Отладка - особый сценарий, отличающийся от обычного теста
Брейкпоинт в тесте поставить и зайти в pdb
и чем мне поможет pdb?
Выполнение теста остановится, посмотришь что в базе лежит, что в переменных в тесте. Дебагом займёшься, в общем
Из pdb дергать запросы к базе то еще удовольствие
я про это и сказал, именно так без коммита ты в базе ничего не увидишь из другого клиента
Так у тебя доступ к сессии есть
и что мне этот доступ к сессии даст? ты предлагаешь из pdb писать вручную запросы к бд?
Я предлагаю в pdb взять сессию и посмотреть в ней всё что нужно. В бд ходить не обязательно
Что в сессии смотреть? Кеш объектов?
Можно глянуть, какие объекты будут добавлены в транзакции, какие будут обновлены, какие будут удалены
Достаточно один раз их прогнать
Обсуждают сегодня