Size: a a a

2020 October 03

D

Dmitry in symfony
Есть такие задачи которые должны быть выполнены последовательно. И в метод нужно передать 5-10 источников данных
источник

ПГ

Павел Г. in symfony
Dmitry
Есть такие задачи которые должны быть выполнены последовательно. И в метод нужно передать 5-10 источников данных
Ну в данном случае заполнение сущности не имеет последовательности.
источник

ПГ

Павел Г. in symfony
Но ивентовая архитектура выглядит как так сказать - более путанней)
источник

ПГ

Павел Г. in symfony
Особенно когда не сайд эффекты а основные действия в ней выполняются
источник

D

Dmitry in symfony
Т.е вам нужно будет прокинуть ЗаполнятельСущности в хендлер. Либо же бросить ивент - заполнисущность?
источник

D

Dmitry in symfony
А как потом получить ответ от события? А синхронно или нет ?
источник

D

Dmitry in symfony
В общем имхо это усложнение ненужное.
источник

ПГ

Павел Г. in symfony
Dmitry
А как потом получить ответ от события? А синхронно или нет ?
зачем ответ. Если что-то не так - исключение.
источник

D

Dmitry in symfony
Павел Г.
зачем ответ. Если что-то не так - исключение.
В астнхронке? А толку ?
источник

D

Dmitry in symfony
Имхо такой метод при обработке формы идея плохая
источник

ПГ

Павел Г. in symfony
Dmitry
В астнхронке? А толку ?
я не про очереди и тп, обычный обсервер . Т.е. синхронно
источник

D

Dmitry in symfony
Имхо это ненужное усложнение банальной обработки формы
источник

D

Dmitry in symfony
Либо я неправильно представляю себе вашу идею
источник

ПГ

Павел Г. in symfony
Dmitry
Имхо это ненужное усложнение банальной обработки формы
Понял принял вашу мысль, спасибо :) но зависимотсти в тестах - боль...
источник

ПГ

Павел Г. in symfony
Dmitry
Либо я неправильно представляю себе вашу идею
Вот представим есть пользователь. У него есть соц сети, какие то интересы и много всего со связью о-м.  Страница его регистрации/ плюс редактирование. Я чтобы не завязываться на пользователе и его не перегружать вынес это в сервисы в тех сущностей, т.е. сервисы интересов и соц сетей (это спорно но и не особо влияет на вопрос).  Но для обработки все равно понадобятся какие то хэндлеры - корректность соц сети и т.д., что-то еще. Чтобы это было в едином месте, а не дважды в реге и редактировании профиля.  В итоге в командаъ рег/edit - куча сторонних хэндлеров. Плюс огромный код в самой команде.
Как вариант, вместо эти хэндлеров прокинуть ивент, на который эти хэндлеры (которые дополнительные для проверки связей и т.д.) были бы подписаны.  И уже делали свое дело в рамках своего "контекста". Т.е. доп. хэндлеры бы утекли из основного обработчика.
источник

T🐜

The Ant 🐜 in symfony
Павел Г.
Приветствую. Вопрос к вашему разговору про тестирование и ТДД.  
Вот у меня есть форма, довольно большая, для создании сущности с связями О-М.  Приходят куча данных из для других сущностей (id) соответсвенно их нужно подтянуть из репо (чтобы проверить наличие в базе).  Одна команда/Хандлер в которую все эти данные скалдываются под одну транзакцию.
Выходит куча зависимотей в виде сервисов или репозиториев других сущностей у этого хандлера. Соответсвенно неимоверно неприятно и больно писать тесты, причем куча тестов в стиле ожидания вызовов этих зависимостей. Все это хрупко. Какой выход тут?
Все что вам нужно это проверить верно ли работает валидатор, выполняет ли свои функции орм и правильные ли типы вы используете при создании сущности. Чую для валидаторов и орм есть уже тесты, а типы контролирует сам пхп, иде и стат. анализатор.
Все остальное какое-то  дрочево.
источник

ПГ

Павел Г. in symfony
The Ant 🐜
Все что вам нужно это проверить верно ли работает валидатор, выполняет ли свои функции орм и правильные ли типы вы используете при создании сущности. Чую для валидаторов и орм есть уже тесты, а типы контролирует сам пхп, иде и стат. анализатор.
Все остальное какое-то  дрочево.
Прилетают ids связей. Это проверяется только запросом в бд, значит надо подтягивать репо сторонней сущности, как зависмость.  Таких связей о-м - несколько. Уже несоклько сторонних репо. Их надо все мокать в каждом тесте да еще и самих проверять на ожидание и эммулировать возврат.
источник

ПГ

Павел Г. in symfony
The Ant 🐜
Все что вам нужно это проверить верно ли работает валидатор, выполняет ли свои функции орм и правильные ли типы вы используете при создании сущности. Чую для валидаторов и орм есть уже тесты, а типы контролирует сам пхп, иде и стат. анализатор.
Все остальное какое-то  дрочево.
Весь вопрос даже может не в одних тестах, а в их хрупкости и больном построении.
источник

ПГ

Павел Г. in symfony
источник

T🐜

The Ant 🐜 in symfony
потому и сыпятся, потому что тестируете непонятно что ради просто чтобы тесты были...
источник