Symfony 4. Специальный контейнер, позволяющий получать частные сервисы - PullRequest
0 голосов
/ 01 февраля 2019

На странице 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);

Что здесь не так?

1 Ответ

0 голосов
/ 01 февраля 2019

Вы пользуетесь файлом 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

Когда вы это делаете, все остальное должно быть на месте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...