На странице стоит https://symfony.com/blog/new-in-symfony-4-1-simpler-service-testing
// gets the special container that allows fetching private services
$container = self::$container;
Но это не влияет на меня в функциональных тестах. Только когда я определяю службу как общедоступную, я могу использовать $container->set('service.mail', $someService);.
Что здесь не так?





Вы используете файл services_test.yaml?
Добавляю туда все сервисы, которые нужно включить в тесты Показываю часть своего файла:
services:
_defaults:
public: true
# If you need to access services in a test, create an alias
# and then fetch that alias from the container. As a convention,
# aliases are prefixed with test. For example:
#
# test.App\Service\MyService: '@App\Service\MyService'
test.app.service.user_management.user_service:
alias: App\Service\UserManagement\UserService
test.app.service.weight.weight_service:
alias: App\Service\Weight\WeightService
Когда вы это сделаете, все остальное должно стать на свои места.
если написать _defaults: public: true, то работает. Но и без public: true должно работать.
Это дубликат вашего предыдущего вопроса. Ответ здесь: stackoverflow.com/questions/54466158/…