Symfony 4 и Behat: как внедрить менеджер сущностей - PullRequest
0 голосов
/ 07 июня 2018

Я давно пользуюсь behat и symfony.У меня есть некоторые контексты, которые используют диспетчер сущностей для создания некоторых тестовых данных, но когда я начал использовать Symfony 4, я не могу найти способ внедрить их в контекст.

Я думаю, что самым близким, что я получил, было использование ContextServiceExtensionиз FOB, но я всегда получаю эту ошибку

Служба "mysite.context.catalog" зависит от несуществующей службы "doctrine.orm.default_entity_manager".

Это мой services.xml для behat:

<?xml version="1.0" encoding="UTF-8" ?>
<container xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://symfony.com/schema/dic/services">
    <services>
        <service id="mysite.context.catalog" class="Shopery\MySite\Behat\CatalogContext">
            <argument type="service" id="doctrine.orm.default_entity_manager" />
            <tag name="fob.context_service" />
        </service>
    </services>
</container>

А это мой behat.yml:

default:
  formatters:
    pretty:
      verbose: true
      paths: true
      snippets: true

  extensions:
    FriendsOfBehat\CrossContainerExtension: ~

    FriendsOfBehat\SymfonyExtension:
      env_file: .env_test
      kernel:
        bootstrap: ~
        class: 'Shopery\Ecommerce\Infrastructure\Symfony\Kernel'
        path: src/Infrastructure/Symfony/Kernel.php
        debug: true

    FriendsOfBehat\ContextServiceExtension:
       imports:
        - "tests/Behat/config/services.xml"

    Behat\MinkExtension:
      base_url: 'http://ecommerce.wip/'
      sessions:
        default:
          goutte: ~

  gherkin:
    cache: ~

  suites:
    default:
      paths:
        - "%paths.base%/tests/functional"

      contexts:
        - Behat\MinkExtension\Context\MinkContext

      contexts_services:
        - mysite.context.catalog
...