:radio: Allows to declare own services inside Behat container without writing an extension.
Allows to declare own services inside Behat container without writing an extension.
Install it:
$ composer require friends-of-behat/service-container-extension --dev
Enable this extension and configure Behat to use it:
# behat.yml
default:
# ...
extensions:
FriendsOfBehat\ServiceContainerExtension:
imports:
- "features/bootstrap/config/services.xml"
- "features/bootstrap/config/services.yml"
- "features/bootstrap/config/services.php"
Write services files definitions:
<!-- features/bootstrap/config/services.xml -->
<?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="acme.my_service" class="Acme\MyService" />
</services>
</container>
# features/bootstrap/config/services.yml
services:
acme.my_service:
class: Acme\MyService
// features/bootstrap/config/services.php
use Symfony\Component\DependencyInjection\Definition;
$container->setDefinition('acme.my_service', new Definition(\Acme\MyService::class));