2013-04-17 2 views
0

Я использую behend с расширением норки, чтобы выполнять пробные тесты. У меня есть FeatureContext, расширяющий MinkContext.Доступ к контейнеру DI от Symfony 2 из норки

Я пытаюсь передать пользовательские параметры в свой контекст, но я не совсем уверен, как это сделать. Моя идея заключалась в том, чтобы поместить их в файл behat.yml, а затем получить к ним доступ с помощью контейнера Symfony, но я не знаю, как получить к нему доступ из моего FeatureContext.

Благодаря

ответ

1

As docs say:

параметры простой массив, который будет передан в конструкторе контекста класса, когда экземпляр, который происходит перед каждым сценарием.

Это означает, что параметры определены в вашем 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 (вы должны запустить realt agains test environment, таким образом, конфигурация отделена от dev и prod).

+0

Спасибо, я пропустил это, когда прочитал документ – David