Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Реализовать механизм транзакций commit/rollback для фикстур #217

Open
kulikovdmitr opened this issue Jul 9, 2023 · 1 comment

Comments

@kulikovdmitr
Copy link

kulikovdmitr commented Jul 9, 2023

При взаимодействии с базой данных через фикстуры происходит изменения состояния базы данных, что может негативно влиять на работу приложения как при прогоне тестов на CI/CD, так и после него. На мой взгляд, для более чистого процесса тестирования - следует оборачивать все взаимодействия с базой данных в транзакции commit/rollback.

Дополнительно:
Этот пример может подтвердить актуальность проблемы #214 (в данном случае каскадное удаление не гарантирует сброс счётчика, и для современных postgresql нужно выполнить RESTART IDENTITY).

Хотя лучшее решение (на мой взгляд) - использовать транзакции.
Было бы здорово, если бы это было реализовано.

@fetinin
Copy link
Contributor

fetinin commented Sep 11, 2023

Сильно сомневаюсь что получится реализовать накатывание фикстур через транзакции. :(
Пока транзакция с фикстурами не будет выполнена, другие запросы/транзакции из приложения не буду видеть её данные. А чтобы они смогли видеть, приложение должно использовать ту же транзакцию что была открыта в Gonkey. Это сломает обратную совместимость и заставит разработчиков приложения научить получать соединение извне и использовать по всему приложению.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants