Size: a a a

Clojure — русскоговорящее сообщество

2019 July 25

KC

Kirill Chernyshov in Clojure — русскоговорящее сообщество
ага
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
спасибо, почитаю. хотя все приведенные примеры clj, а не cljs.
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
Andrey Ivanov
Есть пет-проект с тестами клиентской части, в том числе и фетчей бэкенда по апи. Хочется надежно разделить, чтобы при тестах  на бэке использовалась тестовая база, а при работе - рабочая. Можно настроить отдельную пару конфигураций для тестового билда (и фронт и бэк), передавать туда параметр базы и запускать эти конфиги при тестах из командной строки. Но хочется совместить разработку и приложения и тестов, работая в одном запущенном конфиге. Сейчес добавил в апи эндпоинт, который тупо переключает базу бэка на тестовую и обратно, дергаю его в начале и конце тестов. Но как-то не нравится мне это. Думаю добавлять в хэдеры фетча специальный ключ, который будет означать запрос к тестовой базе. Но как удобнее управлять этим ключом, чтобы не переключать сборку? Пока только with-bindings приходит на ум, и оборачивать им все тесты. Но тоже можно забыть. Что посоветуете?
Просто инстанс бэка с тестовой БД на другом порту? И пускай функ тесты туда ходят.
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
До этого я уже додумался, да. Точнее один инстанс бэка с 2 запущенными серверами. Осталось как-нибудь почетче сделать, чтобы тесты ненароком в чужой сервер не постучались
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
Вообще кажется такая штукенция нужна только тестам транспорта. Тесты на апликуху должны с каким-нить моком в памяти работать по доброму.
источник

OR

Oleg Roshchupkin in Clojure — русскоговорящее сообщество
Kirill Chernyshov
не работает, фигвил не параметризуем в принципе
Фигвил может крутить много билдов рядом, насколько я помню. Если в этом вопрос.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
@cheatex На горботе гоняем несколько компонентов и фейковую кафку в одном процессе. В продакшне это несколько контейнеров и настоящая кафка. Ускорение неописуемаое.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Не кложура, го, правда.
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Mikhail Gusarov
Не кложура, го, правда.
а что там у го за фейк кафка, покажи
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Самописная. Просто список строк и реализации kafka.Reader kafka.Writer для библиотеки, которую мы используем.
источник

MG

Mikhail Gusarov in Clojure — русскоговорящее сообщество
Reader ходит по списку, выбирая сообщения нужного топика, Writer добавляет в конец списка.
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Aleksey @cheatex
Вообще кажется такая штукенция нужна только тестам транспорта. Тесты на апликуху должны с каким-нить моком в памяти работать по доброму.
Мок в памяти это конечно хорошо, но читерно. Я борюсь за максимальную интеграционность
источник

A

Aleksey @cheatex in Clojure — русскоговорящее сообщество
@IIvana зачем?
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Да я тоже считаю, что тесты переоценены ) Но людям хочется, так почему бы мне не сделать )
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
@prepor понятно, что бд-это отдельный компонент. Есть функция, которая создает пользователя. Как эта функция получает коннект? Всю систему? Или эта функция сама компонент?
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Можно вообще вынести запуск тестов отдельной командой поднимающей нужный бэкенд и запускающнй лейн доо. Но вдруг кто-то любит в ТДД и запускать тесты не только при CIа еще и при разработке в дев-окружении )
источник

AR

Andrew Rudenko in Clojure — русскоговорящее сообщество
Mikhail Kuzmin
@prepor понятно, что бд-это отдельный компонент. Есть функция, которая создает пользователя. Как эта функция получает коннект? Всю систему? Или эта функция сама компонент?
"функция" объявляет зависимость от бд, да
источник

AI

Andrey Ivanov in Clojure — русскоговорящее сообщество
Так то у меня в любом случае есть тест-сборка кложаскрипта, для запуска тем же лейн доо - можно вообще прямо в нее энвы нужного урла прокинуть и все ) Но тогда без ТДД )
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
Andrew Rudenko
"функция" объявляет зависимость от бд, да
а можешь кусочек кода обезличенный показать?
источник

MK

Mikhail Kuzmin in Clojure — русскоговорящее сообщество
и такой момент, а бывает, что нужно внедрять что-то, что известно только в момент запроса, скажем сессию?
источник