You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
При взаимодействии с базой данных через фикстуры происходит изменения состояния базы данных, что может негативно влиять на работу приложения как при прогоне тестов на CI/CD, так и после него. На мой взгляд, для более чистого процесса тестирования - следует оборачивать все взаимодействия с базой данных в транзакции commit/rollback.
Дополнительно:
Этот пример может подтвердить актуальность проблемы #214 (в данном случае каскадное удаление не гарантирует сброс счётчика, и для современных postgresql нужно выполнить RESTART IDENTITY).
Хотя лучшее решение (на мой взгляд) - использовать транзакции.
Было бы здорово, если бы это было реализовано.
The text was updated successfully, but these errors were encountered:
Сильно сомневаюсь что получится реализовать накатывание фикстур через транзакции. :(
Пока транзакция с фикстурами не будет выполнена, другие запросы/транзакции из приложения не буду видеть её данные. А чтобы они смогли видеть, приложение должно использовать ту же транзакцию что была открыта в Gonkey. Это сломает обратную совместимость и заставит разработчиков приложения научить получать соединение извне и использовать по всему приложению.
При взаимодействии с базой данных через фикстуры происходит изменения состояния базы данных, что может негативно влиять на работу приложения как при прогоне тестов на CI/CD, так и после него. На мой взгляд, для более чистого процесса тестирования - следует оборачивать все взаимодействия с базой данных в транзакции commit/rollback.
Дополнительно:
Этот пример может подтвердить актуальность проблемы #214 (в данном случае каскадное удаление не гарантирует сброс счётчика, и для современных postgresql нужно выполнить RESTART IDENTITY).
Хотя лучшее решение (на мой взгляд) - использовать транзакции.
Было бы здорово, если бы это было реализовано.
The text was updated successfully, but these errors were encountered: