Как тестировать с базой данных?

Middle
824 просмотров
AFK Offer AI

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

Следующий вопрос

Как хешировать пароли в Go?