ContextServiceExtension Save Abandoned

:jack_o_lantern: [DEPRECATED] Allows to declare and use contexts services in scenario scoped container.

Project README

Context Service Extension License Version Build status on Linux Scrutinizer Quality Score

This library is deprecated! It will not be supported anymore - if you're using it with CrossContainerExtension v1 and SymfonyExtension v1, please consider an upgrade to SymfonyExtension v2.

Allows to declare and use contexts services in scenario scoped container.

Usage

  1. Install it:

    $ composer require friends-of-behat/context-service-extension --dev
    
  2. Enable and configure context service extension in your Behat configuration:

    # behat.yml
    default:
        # ...
        extensions:
            FriendsOfBehat\ContextServiceExtension:
               imports:
                   - "features/bootstrap/config/services.xml"
                   - "features/bootstrap/config/services.yml"
                   - "features/bootstrap/config/services.php"   
    
  3. Inside one of those files passed to configuration above, create a service tagged with fob.context_service.

    <!-- 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_context" class="Acme\MyContext">
                <tag name="fob.context_service" />
            </service>
        </services>
    </container>
    
    # features/bootstrap/config/services.yml
    services:
        acme.my_context:
            class: Acme\MyContext
            tags:
                - { name: fob.context_service }
    
    // features/bootstrap/config/services.php
    use Symfony\Component\DependencyInjection\Definition;
    
    $definition = new Definition(\Acme\MyContext::class);
    $definition->addTag('fob.context_service');
    $container->setDefinition('acme.my_context', $definition);
    
  4. Configure your suite to use acme.my_context context service (note contexts_services key instead of contexts):

    # behat.yml
    default:
        # ...
           suites:
               default:
                   contexts_services:
                       - acme.my_context
    
  5. Have fun with your contexts defined in DI container as services! :tada:

Open Source Agenda is not affiliated with "ContextServiceExtension" Project. README Source: FriendsOfBehat/ContextServiceExtension
Stars
114
Open Issues
1
Last Commit
5 years ago
License
MIT

Open Source Agenda Badge

Open Source Agenda Rating