Есть несколько подходов. Самый простой — тестировать через интерфейсы с моками, вообще не трогая базу. Для интеграционных тестов — поднимать реальный PostgreSQL в Docker через testcontainers-go: перед тестом запускается контейнер, накатываются миграции, после тестов — убивается. Средний вариант — использовать SQLite в памяти, но для PostgreSQL-специфичного кода это не работает. Ещё есть pgxmock для мокирования pgx-вызовов. В проде самый надёжный способ — testcontainers с реальной базой.
Как тестировать с базой данных?
Middle
824 просмотровAFK Offer AI
Как хешировать пароли в Go?