我正在使用 behat 和 mink 扩展来运行功能测试。我有一个 FeatureContext,扩展了 MinkContext。
我正在尝试将自定义参数传递给我的上下文,但我不确定如何。我的想法是将它们放在 behat.yml 中,然后使用 Symfony 的容器访问它们,但我不知道如何从我的 FeatureContext 访问它。
谢谢
parameters 是一个简单的数组,在实例化时将传递给上下文类的构造函数,这发生在每个场景之前。
这意味着在您定义的参数behat.yml
:
default:
context:
parameters:
my_parameter: my_value
通过构造函数传递给您的上下文:
class FeatureContext extends RawMinkContext
{
private $parameters = array();
public function __construct(array $parameters)
{
$this->parameters = $parameters;
}
}
如果您打算更改 Symfony 容器中的参数,您应该在 Symfony 配置文件之一中进行(您应该在测试环境中运行 behat,这样配置与 dev 和 prod 是分开的)。