我有一个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()"
我错过了什么吗? ..我还在FeatureContext.php中通过
添加了autoload.php require_once __DIR__.'/../../vendor/autoload.php';
如果您知道为什么会这样,请告诉我们?
答案 0 :(得分:7)
您的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,但你可能已经明白了。