Как стать автором
Обновить
7
0
Роман Науменко @bravik

Веб-разработчик PHP, Java

Отправить сообщение

Тут в статье расписан же процесс: вы для запуска тестов делаете прямо в бандле в папке tests отдельное микроприложение из нескольких файлов, со своим контейнером и его конфигурацией. В его контейнере вы можете вашему интерфейсу назначить конкретную мок-реализацию, аналогично тому как вы назначаете реализацию в обычном приложении. Интерфейсы же для этого и созданы: чтобы вы с легкостью могли его подменить для нужного кейса нужной реализацией.

Можно в приложении для тестов сделать mock-реализации интерфейсов (ничего не делающие по факту или отдающие "болваночные" данные, но реализующие контракт интерфейса) от которых зависит ваш бандл.

Спасибо.
В services.yml — регистрируются зависимости DI-контейнера, если вы хотите использовать autowiring в своем сервисе или если вы хотите внедрять свой сервис куда-либо еще в качестве зависимости, то необходимо добавить его в контейнер.


А в обычном проекте Symfony в папке Services вам не нужно регистрировать эти сервисы в services.yaml только потому, что они уже из коробки там прописаны всей папкой:


# makes classes in src/ available to be used as services
# this creates a service per class whose id is the fully-qualified class name
App\:
   resource: '../src/*'
   exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'
Но понимать как «синтаксический сахар» работает полезно
Действительно, так будет лучше, поправил. Спасибо

Информация

В рейтинге
Не участвует
Откуда
Владивосток, Приморский край, Россия
Зарегистрирован
Активность