Size: a a a

2020 February 24

C

Calculon in Go-go!
Daniel Podolsky
типа да
дк это тогда разве не мок бд получится?
источник

C

Calculon in Go-go!
блин
источник

а

а кто это in Go-go!
Calculon
DAL это типо интерфейс абстрагирующий нас от стора?
database abstraction layer
источник

C

Calculon in Go-go!
а как в go замокать бд
источник

DP

Daniel Podolsky in Go-go!
Calculon
дк это тогда разве не мок бд получится?
мок бд - очень сложная штука, потому, что у бд сложный интерфейс

замокать существенно более простой dal существенно легче
источник

C

Calculon in Go-go!
Daniel Podolsky
мок бд - очень сложная штука, потому, что у бд сложный интерфейс

замокать существенно более простой dal существенно легче
да, я это понял в процессе спрашивания тут
источник

ВС

Владимир Столяров in Go-go!
Есть всякие sqlmock, но если уж прям надо, я поднимаю рядом контейнер с базой
источник

а

а кто это in Go-go!
Владимир Столяров
Есть всякие sqlmock, но если уж прям надо, я поднимаю рядом контейнер с базой
а это нормально их использовать вообще?
источник

а

а кто это in Go-go!
там же банально проверка запросов по маске + комиты-роллбеки
источник

DP

Daniel Podolsky in Go-go!
а кто это
а это нормально их использовать вообще?
по мне, так нет

потому, что без интеграционных тесов дело все одно не обойдется
источник

M

Meow in Go-go!
Как по мне мокать базу - антипаттерн
источник

C

Calculon in Go-go!
Meow
Как по мне мокать базу - антипаттерн
ее замокать анрил
источник

M

Meow in Go-go!
Ну отдельные запросы
источник

DV

Dmitry Vologdin in Go-go!
почему бы действительно рядом не поднимать инстанс базы тестовой, и перед тестами накатывать миграции, после тестов дропать
довольно большая часть бизнес-логики находится в sql, её ведь тоже надо как-то тестить
источник

ЛА

Локоть Анатолий in Go-go!
Calculon
а как в go замокать бд
Можно и не мокать, а поднимать реальную бд при тестах.
источник

DP

Daniel Podolsky in Go-go!
Dmitry Vologdin
почему бы действительно рядом не поднимать инстанс базы тестовой, и перед тестами накатывать миграции, после тестов дропать
довольно большая часть бизнес-логики находится в sql, её ведь тоже надо как-то тестить
примерно в 90% мест, где мне приходилось разгребать навоз, автотесты на CI были отключены - они долго шли
источник

ВС

Владимир Столяров in Go-go!
Да уж, мне пришлось один такое проект принимать. Без включения тестов и их допилки отказался от добавления фич
источник

ЛА

Локоть Анатолий in Go-go!
Dmitry Vologdin
почему бы действительно рядом не поднимать инстанс базы тестовой, и перед тестами накатывать миграции, после тестов дропать
довольно большая часть бизнес-логики находится в sql, её ведь тоже надо как-то тестить
В circleci есть механизм поднятия нескольких докер контейнеров вместе с контейнером тестируемого приложения. Дополнительным контейнером может быть ваш контейнер базы с предустановленными данными и тогда делать вообще ничего не придётся.
источник

DV

Dmitry Vologdin in Go-go!
@onokonem интересно, долго это сколько? когда у людей терпение заканчивается? :)
и когда мы перестаем тестить sql в коде приложения, становится как-то тревожно
и в миграциях вполне может какой-то косяк пробраться
источник

DV

Dmitry Vologdin in Go-go!
Локоть Анатолий
В circleci есть механизм поднятия нескольких докер контейнеров вместе с контейнером тестируемого приложения. Дополнительным контейнером может быть ваш контейнер базы с предустановленными данными и тогда делать вообще ничего не придётся.
у нас для тестов отдельная база развёрнута, к которой доступ с CI ранера есть, и там оно "интеграционные" тесты гоняет
интеграционные условно - интеграция там с базой только, внешние сервисы замоканы
источник