Alexey
и совсем не про то 😊
Dmitriy
ну не в этом суть
Alexey
а в чем?
Dmitriy
в том что по хорошему что пср7 что request не идут дальше в бл.
Alexey
вот представь, что у тебя есть эндпойнт GET /foobar, который отдает определенный хедер, получаемый из сервиса
Alexey
что тестить будешь?
Alexey
вот тебе и респонс, и бл в одном тесте :D
Dmitriy
сервис
Dmitriy
весь
Dmitriy
ну и сам эндпоинт потом =)
Alexey
а если разработчик допустил смешную ошибку и ендпойнт начал падать с 500 ошибкой?
Dmitriy
тесты заметят
Alexey
а потом авторизация сломалась
Alexey
а потом поправили acl и endpoint перестал открываться у кого надо
Alexey
будешь дублировать все тесты? :D
Dmitriy
зачем ? . тесты на сервис и эндпоинт
Alexey
а зачем? если можно тестировать только endpoint
Dmitriy
сломается сервис тесты заменят там
Alexey
который по сути прокси
Dmitriy
потому что там может быть ошибки =)
Dmitriy
сервис может быть инпользоват в других методах
Dmitriy
все не протестируешь на endpointe
Alexey
YAGNI?
Alexey
Dmitriy
в докладе который предлагал @oneerror говорилось про это
Dmitriy
YAGNI?
сложную бл не протестируешь же чисто на эндпоинте
Alexey
сложную нет, но мы ведь и не пишем ее
Alexey
на yii :D
Dmitriy
пишут пишут
Dmitriy
видел и не только у себя =(
Alexey
я бы не стал рисковать )
Dmitriy
представь у эндпонта можешь быть 100 состояний .
взять телеграм бота . ну в жизни не протестируешь эндпоинтами
Alexey
телеграм боту и не нужны эндпойнты
Dmitriy
ну конечно
Alexey
инфа сотка
Dmitriy
опять сы судишь со своего мирка
Dmitriy
как ты думаешь он общается с сервером ?
Alexey
думоеш? 😊
Dmitriy
вебхук же
Alexey
поллингом можно
Dmitriy
у меня бот тут же есть
Alexey
который не работает? :D
Dmitriy
/link@yetanotherstatsbot
Yet Another Stats (β)
https://b.yasb.exileed.com/telegram/chat/1001046156199
Dmitriy
работает же
Alexey
неа
Dmitriy
ну тебе видней да
Alexey
https://github.com/tigris-php/tigris
Alexey
ну да
Alexey
у меня свой фреймворк есть для ботов )
Alexey
я даже адаптер сообщений для вебхука не стал писать - и так норм пашет :D
Dmitriy
ну я про то что тебе видней мои нагрузки
Anonymous
/help@Shizoid_bot
Shizoid
Доступные команды:
help — сия справка :)
gab [N] — вероятность вмешательства(0-50).
locale [XX] — локаль сообщений.
status — статус бота в чате.
ping — Pong.
me [текст] — аналог команды /me IRC/XMPP
bayanizator [enable|disable|on|off] — Функция Чек-баян.
eightball [вопрос] — Классический шарик с ответами на вопросы на "Да" и "Нет".
cool_story — Рассказать крутую историю.
winner [enable|disable|me|current] — Флудер дня.
la vie noire
/cool_story@Shizoid_bot
la vie noire
/cool_story@Shizoid_bot
la vie noire
🤷🏻♂️
Anonymous
/cool_story@Shizoid_bot
Alexey
проще на голанге переписать за некоторое небольшое время
Yura
час+ уже сретесь
Yura
)))
Alexey
у меня тоже 😞((
Dmitriy
Dmitriy
все равно без очередей голанг не вывезет .
Alexey
ну вот кстати ботов как раз по bdd идеально тестировать, но не уверен, что есть подходящие инструменты
Alexey
типа "я шлю текст", "я вижу кнопочку"
Alexey
ну и возвращаясь к нашим баранам - вот пример с моком зависимости
Alexey
https://github.com/tigris-php/telegram-bot-api/blob/master/tests/tests/ApiClientTest.php
Alexey
если зависимостей будет 10 - устанешь их мокать 😉
Dmitriy
больше 4х это уже грязь
Dmitriy
надо разделять код
Alexey
ну
Alexey
в идеальном мире с розовыми пони-единорогами
Alexey
если в дело вступают еще и фикстуры с данными. которые пользуют зависимые сервисы - все становится очень и очень трудно
Dmitriy
опять у тебя странные идеальные миры.
много где так это применяется
Alexey
в конечном счете ты 90% времени будешь писать тесты :D а не код