Size: a a a

2021 September 20

OK

Oleg Krasavin in symfony
Особенно если хендлер не возвращает ничего
источник

КГ

Константин Грачев... in symfony
При inmemory у тебя все сообщения просто в транспорте складываются и тестируя код который кидает сообщения можно через транспорт ассертить что нужные сообщения вылетели. Не дублируя тесты хендлеров этих сообщений.

Ну или на крайняк можно в тесте из инмемори эти сообщения достать и засунуть в мессенгер, получишь sync поведение там где это требуется
источник

МФ

Максим Федоров... in symfony
да-да, выше отметил пользу
источник

МФ

Максим Федоров... in symfony
но я в функциональных тестах тестирую полностью прцоессы, а не модули в более широком функциональном понимании, потмоу мне надо чтобы система работала вся

потмоу и предложил такой вариант
источник

МФ

Максим Федоров... in symfony
возьмите этот свежий пакет
https://github.com/zenstruck/messenger-test

там можно ловить сообщения, вешать ассерты к очередям или сообщениям, можно процессить на лету

крч удобно, просто в тест-среде нужно определить трансопрт как test://
источник

I

Ivan in symfony
Если в services.yaml в _defaults включен autowire, как можно отключить его для нескольких классов.
Сейчас делаю отдельные блоки
   Foo\Foo\:
       public: false
       autowire: false
       resource: '../src/Foo/Foo/**/*DTO.php'
Но их все больше и на каждый новый фаил делать такое исключение как-то неправильно. Есть варианты как указать шаблон классов для которых нужно отключить autowire ?
источник

КГ

Константин Грачев... in symfony
А зачем отключать?
Симфони пытается дто как сервисы зарегать и падает?
источник

I

Ivan in symfony
У dto в конструкторе набор параметров, и да симфони говорит что не может найти string $name и т.д.
источник

✨Basic_Instinct✨ in symfony
зачем дто вызывать как сервисы?
источник

✨Basic_Instinct✨ in symfony
ты их инжектишь что ли?
источник

КГ

Константин Грачев... in symfony
Он не вызывает, контейнер папку src грузит
источник

✨Basic_Instinct✨ in symfony
ну контейнер требует заполненный конструктор, когда ты его инжектишь как сервис
источник

✨Basic_Instinct✨ in symfony
у меня куча дто с конструкторами расположено совместно с хендлерами, и никаких проблем
хендлеры di, а dto - new, и заполняю конструктор
источник

КГ

Константин Грачев... in symfony
Я ловил такие же ошибки и без инжекта
источник

✨Basic_Instinct✨ in symfony
источник

✨Basic_Instinct✨ in symfony
не знаю-не знаю, полет нормальный
источник

КГ

Константин Грачев... in symfony
То место где грузятся дто случайно не стоит public: true?
источник

I

Ivan in symfony
Да
источник

✨Basic_Instinct✨ in symfony
стесняюсь спросить, а для чего?
источник

МФ

Максим Федоров... in symfony
вы можете построить маску для исключения всех ДТО
источник