🎉
Только в моём случае, vet ругается на объявление ранее err в возврате из функции. Мдя.
Илья
так кто что думает про мокание БД с сложными запросами? кто-то был против, не помню почему
Nik
Nik
И рекомендовали для норм тестов поднимать БД в контейнере
Илья
я все еще собираю мнения, пока варинат с контейнером с БД -- самое рабочее решение но мне не нравится: файл sql вместе с тетами, его тоже приходится поддерживать мигрировать и тп
Nik
Nik
Вообще по хорошему - на уровне кода абстрагироваться от хранилища
Nik
И оставить работоспособность драйвера на совесть их писателей
Nik
Но можно налететь на сюрприз
Илья
у нас есть такая штука "команды в БД" -- это обхекты с опциями которые динамически собираются, все это через ORM генерит запрос, например "запросить все статьи + с лайками + с автором + прочая фигня"
Илья
и как оно абстракно от реализации бд, можно посунуть мок, но мок ооочень сложный получается
Илья
Илья
те команда запроса отвязана от бд
Илья
но как-то не помогает)
Nik
Nik
ОРМ?
Nik
(Я уже немного запутался)
Илья
хочу сделать так, чтобы тестировать можно было без реального сервера БД, если есть подходящие адекватные способы это сделать
Илья
разумный смособ
Илья
или понят, где менять вообще
Slava
логику тестируй юнит тестами, там не нужна бд
Nik
Наверно там из логики прямое обращение к орм
Slava
и зачем делать запрос в базу? тебе же надо проверить что сам запрос сгенерировался ожидаемо
Nik
Наверно из стоит разъединить.
Nik
И смотреть, что функция отдала на запись
Nik
Или спросила на чтение
Nik
А орм оставить сбоку
Nik
(Наверно)
Slava
можно и так
Slava
я лично всё тестирую на реальной базе =) так тупо проще
Nik
Nik
С другой - собирать все окружение на своём компе - гемор
Nik
Особенно если у тебя есть и каучбейс, и эластик, и редис и мускул
Nik
И ещё зоопарк
Nik
Вариант 2 - CI собрать
Nik
Но тут надо пушить и смотреть результаты
Nik
3-5 минут
Nik
С моками тупо быстрее
Nik
Но как нам сегодня сказали - разработчики драйверов в большинстве своём тесты не пишут
Slava
тебе в любом случае собирать девелоперское окружение
Slava
иначе как разрабатывать? =)
Slava
и в нём тесты и сервисы должны подниматься, иначе как они тестируются? =)
Nik
Если я что то зарефактлрил немного, или сделал быстрый фикс - я хочу быстро протестить, а потом уже выплюнуть все в CI и уйти пить кофе. А так надо над ним сидеть и смотреть
Nik
По идее должны быть админы , которые все поддерживают. Но обычно из нет
Sebor▂▅▇█▓▒░
Slava
нет
Nik
Nik
Пусть и сами сервера собирают
Nik
И сами себе гит на сервера ставят
Nik
И сами себе окружение
Sebor▂▅▇█▓▒░
я знаю, кто этим занимается
Sebor▂▅▇█▓▒░
девопсы)
Nik
И сами пусть деплоят
Nik
И сами админы
Nik
Фулстек прогер=девопс
Slava
почему нет?
Nik
))
Nik
А в остальном проблем нет
Slava
а смысл прогать, если деплоить некуда? =)
Nik
Потому я набрал умных стремящихся студентов. Они мне поднимают инфрастуктуру, и деплоят, и ci админист
Nik
И им полезно и мне удобно, и они в фоне в код смотрят, иногда пару строк пишут
Slava
мм, отправлять студентов на самую опасную/сложную часть это правильно =)
Nik
Nik
Не сразу конечно, но результатам за 2 два года очень доволен
Slava
как же доволен, если девелоперсого окружения нет нормального? =)
Nik
Nik
Работает
Nik
Меня огорчает что долго
Nik
Именно что надо пушить
Nik
А не на своём ноуте
Sebor▂▅▇█▓▒░
ну видимо что-то не то у вас с ci, если на своем ноуте выходит заметно быстрее
Nik
Nik
Нет?
Slava
обычно время программистов ценнее, если это конечно не умные студенты
Nik
Кто из пристувующих держит на рабочей машине базу для тестов чистую (не ту, на которой идёт разработка)
Sebor▂▅▇█▓▒░
Нет?
Мне кажется, если все делается одинаково, то разницы быть не должно, где поднимать