Size: a a a

2021 September 04

SP

Sergey Protko in symfony
тебе нужна фабрика а не билдер, убрать этот if в фабрику и проверять что она возвращает, тогда когда у тебя код вырадится в


create(
  $entity = $this->factory->create($args)
  $this->persist($entity)
)



который нет смысла покрывать юнитами (статический анализ уже все негативные кейсы проверит  + приемочные тесты на позитивный кейс)
источник

SP

Sergey Protko in symfony
как итог моки вообще не нужны
источник

И

Игорь in symfony
Думаешь прям целиком в фабрику убрать ? Мне не импонирует, потому что хотелось бы проверить, это условие... Оно чуть сложнее...
источник

SP

Sergey Protko in symfony
проверь как фабрика работает, сделай так что бы у фабрики небыло сайд эффектов, тогда без моков все легко и просто тестить
источник

SP

Sergey Protko in symfony
p.s. стабы != моки. стабы можно один раз задать в setup и не париться
источник

И

Игорь in symfony
Пилить фабрики под все виды таких условий не слишком ли дорого ? 🤔
источник

SP

Sergey Protko in symfony
под какие "все"? ну и опять же на абстрактных конях все абстрактно.
источник

SP

Sergey Protko in symfony
ты вот билдеры собрался пилить - не дорого ли
источник

SP

Sergey Protko in symfony
и не выйдет ли так с твоими билдерами что у тебя тесты дублируют реализацию сильно?
источник

SP

Sergey Protko in symfony
p.s. еще один "грешек" за людьми которые мок фреймворки юзают - expect вызовов надо делать там где другого способа нет - то есть только для void методов. А то навешают на билдеры экспектов и радуются
источник

И

Игорь in symfony
Число билдеров == числу энтити.
Число фабрик == числу условий которые задаются для построения 🤔
источник

SP

Sergey Protko in symfony
ну я понятия не имею откуда вообще появилась проблема по условиям разные сущности создавать, мне это звучит странно
источник

SP

Sergey Protko in symfony
но в целом - нет не оч дорого
источник

И

Игорь in symfony
Если метод void то у тебя остаётся только expext 🤔
источник

SP

Sergey Protko in symfony
потому что именно эти условия это то что требует изоляции - билдеры никаких проблем не решают
источник

SP

Sergey Protko in symfony
именно, а если не void - то есть и другие способы и лучше использовать их. есть еще мерзские кейсы вроде array_pop но там опять же лучше фэйки/стабы а спаи и экспекты оставить как крайнюю меру
источник

DD

Dima Denisov in symfony
Приветствую. Есть у кого опты деплоя на AWS Beanstalk Symfony приложения (или AWS Fargate)? Сейчас пользуемся ЕС2, но приложение не так часто подходит к лимиту инстанса, а почти 10 часов буквально бездействует, хотим что-нибудь облачно-серверлессное
источник
2021 September 05

SP

Sergey Protko in symfony
fpm выжирает или есть еще что-то? В целом fargate достаточно удобно, настроите себе полиси автоскейлинга на нужные вам метрики и живите себе. Правда за базу всеравно платить придется. Хотя в зависимости от характера нагрузок можно с авророй поиграться...

В целом может есть более конкретные вопросы?
источник

DD

Dima Denisov in symfony
На ес2 крутится API, которая использует aws aurora. В течении рабочего дня бывают пики запросов, не кешируемых, которые которые надо обрабатывать после бд и приходится брать инстанс по "верхнему" краю максимальных нагрузок. То бишь не получается заранее спрогнозировать когда покупать на споте допинстансы для купирования этих пиков.
источник

DD

Dima Denisov in symfony
Если подсчитать то получается что инстанс работает чистым минут 40-50 остальные 23 часа простой. Поэтому и решили что надо облачно.
источник