Я давно использую behat и symfony. У меня есть несколько контекстов, которые используют диспетчер сущностей для создания некоторых тестовых данных, но когда я начал использовать Symfony 4, я не мог найти способ внедрить их в контекст.
Я думаю, что ближе всего я использовал ContextServiceExtension из FOB, но я всегда получаю эту ошибку
The service "mysite.context.catalog" has a dependency on a non-existent service "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
@Eakethet да, безусловно, сервис существует. Я получаю ту же ошибку с любой другой службой
а почему ваш service.yaml имеет тип XML?
извините, это services.xml
когда вы вводите bin / console debug: container doctrine.orm.default_entity_manager is Public Да? Или это так же личное?
они общедоступны, я думаю, проблема в том, что у Symfony разные контейнеры




Когда вы запускаете bin / console debug: container, у вас есть эта служба доктрины или нет?