编程语言
首页 > 编程语言> > 如何从Behat.yml获取参数到php文件?

如何从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()"

我错过了什么吗? ..我还在FeatureContext.php中添加了autoload.php

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

如果您知道为什么会这样,请告诉我们?

解决方法:

您的FeatureContext类必须扩展BehatContext,然后在FeatureContext的构造函数中将parameters-array作为参数.有关示例,请参见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,但你可能已经明白了.

标签:behat,mink,php
来源: https://codeday.me/bug/20190728/1564247.html