【发布时间】:2016-02-01 11:16:03
【问题描述】:
是否可以构建我自己的自定义服务并将其注入到 Behat Context 类中?
我正在将 Behat 与 Symfony2 集成,我可以将 Symfony 的服务注入到我的上下文中,如下所示:
contexts:
- Meeebu\MyBundle\Features\Security\Context\SecurityContext:
session: '@session'
前提是Behat\Symfony2Extension已注册。
我还使用Behat Page Object Extension 将Page 对象直接注入到上下文构造函数中,所以我的构造函数目前看起来像这样:
public function __construct(Session $session, Homepage $homepage, WelcomeAdmin $welcomeAdminPage)
现在,我想在 Context 类中使用我的自定义服务。
如何在 Behat 中创建、注册和注入它们?
【问题讨论】:
-
@BentCoder,我一开始也考虑过,但由于我使用的是
Behat\Symfony2Extension,它没有实现ContainerAwareInterface,因为现在可以直接在配置文件中注入SF2服务。另外,我想注入不属于 Symfony 容器的服务,但仅对我的 Behat 安装是唯一的。
标签: symfony dependency-injection behat