0

我正在使用 behat 和 mink 扩展来运行功能测试。我有一个 FeatureContext,扩展了 MinkContext。

我正在尝试将自定义参数传递给我的上下文,但我不确定如何。我的想法是将它们放在 behat.yml 中,然后使用 Symfony 的容器访问它们,但我不知道如何从我的 FeatureContext 访问它。

谢谢

4

1 回答 1

1

正如文档所说

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 是分开的)。

于 2013-04-17T08:48:37.040 回答