问题
I have a Behat.yml
default :
context :
parameters :
user: xyz
password : abc
Also i have a file called FeatureContext.php which retrieves the values from behat.yml through
public function iExample($user, $password)
{
$userName=$this->getParameter($user);
}
But it throws an error like
"Call to undefined method FeatureContext::getParameter()"
Am i missing something ? .. i have also added autoload.php in FeatureContext.php through
require_once __DIR__.'/../../vendor/autoload.php';
Please let know , if you have any idea why it is happening ?
回答1:
Your FeatureContext
class has to extend BehatContext
and then you get the parameters-array as an argument in the constructor of FeatureContext
. See http://michaelheap.com/behat-selenium2-webdriver/ for an example.
Edit:
class FeatureContext extends BehatContext
{
private $params = array();
public function __construct(array $parameters)
{
$this->params = $parameters;
}
public function iExample($user, $password)
{
$userName = $this->params['user'];
}
}
I haven't used Behat for a while, but you probably get the idea.
来源:https://stackoverflow.com/questions/20879472/how-can-i-get-the-parameters-from-behat-yml-to-a-php-file