2013-04-17 25 views
0

我正在使用behat和水貂擴展來運行功能測試。 我有一個FeatureContext,擴展了MinkContext。從水貂訪問Symfony 2的DI容器

我想將自定義參數傳遞給我的上下文,但我不確定如何。我的想法是將它們放在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配置文件之一中執行此操作(您應該運行behat agains測試環境,這種配置與dev和prod分開)。

+0

謝謝,我錯過了當我閱讀文檔 – David