У меня есть 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';
Пожалуйста, сообщите, если у вас есть идея, почему это происходит?
Класс FeatureContext
должен расширять BehatContext
а затем вы получаете параметр-array в качестве аргумента в конструкторе 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']; } }
Я не использовал Бехата какое-то время, но вы, вероятно, поняли.