friends-of-behat / context-service-extension
v1.3.0
2019-01-21 17:12 UTC
Requires
- php: ^7.1
- behat/behat: ^3.1
- symfony/dependency-injection: ^3.4|^4.1
Requires (Dev)
Suggests
- friends-of-behat/cross-container-extension: ^1.0
- ocramius/proxy-manager: ^2.0
- symfony/proxy-manager-bridge: ^3.4|^4.2
README
这个库已弃用!它将不再受到支持 - 如果您正在与 CrossContainerExtension v1 和 SymfonyExtension v1 一起使用,请考虑升级到 SymfonyExtension v2。
允许在场景范围内容器中声明和使用上下文服务。
使用方法
-
安装它
$ composer require friends-of-behat/context-service-extension --dev
-
在您的 Behat 配置中启用并配置上下文服务扩展
# behat.yml default: # ... extensions: FriendsOfBehat\ContextServiceExtension: imports: - "features/bootstrap/config/services.xml" - "features/bootstrap/config/services.yml" - "features/bootstrap/config/services.php"
-
在上面的配置文件之一中,创建一个带有
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="https://symfony.ac.cn/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);
-
配置您的测试套件以使用
acme.my_context
上下文服务(注意 contexts_services 键而不是 contexts 键)# behat.yml default: # ... suites: default: contexts_services: - acme.my_context
-
享受在依赖注入容器中定义为服务的上下文定义!🎉