Как я могу получить параметры от Behat.yml в файл php?


У меня есть Behat.yml

  default :
     context :
       parameters :
            user: xyz
            password : abc

Также у меня есть файл под названием FeatureContext.php который извлекает значения из behat.yml через

   public function iExample($user, $password)
    {
       $userName=$this->getParameter($user);
    }

Но это приводит к ошибке, подобной

   "Call to undefined method FeatureContext::getParameter()"

Я что-то упустил?.. я также добавил autoload.php в FeatureContext.php через

   require_once __DIR__.'/../../vendor/autoload.php';

Пожалуйста, дайте знать, если у вас есть какие-либо идеи, почему это происходит?

Author: sharan, 2014-01-02

1 answers

Ваш класс FeatureContext должен расширить BehatContext, а затем вы получите массив параметров в качестве аргумента в конструкторе FeatureContext. См. http://michaelheap.com/behat-selenium2-webdriver / для примера.

Редактировать:

class FeatureContext extends BehatContext
{
    private $params = array();

    public function __construct(array $parameters)
    {
        $this->params = $parameters;
    }

    public function iExample($user, $password)
    {
        $userName = $this->params['user'];
    }
}

Я некоторое время не использовал Behat, но вы, вероятно, поняли идею.

 6
Author: olga, 2014-01-03 07:44:10