codeception无法从cest文件中调用在acceptancetester.php中定义的函数

时间:2016-05-29 09:33:44

标签: php codeception

嗨,我是代码新手, 试图从Cest调用AcceptanceTester.php中定义的函数。 但是获得错误返回调用未定义的函数demoInjection()

以下是我的函数定义和调用函数

public function demoInjection($aLinkText,$sLinkName)
{
    $I= $this;

    for($z=0;$z<=Count($aLinkText);$z++)
    {
        if ($aLinkText[$z] = $sLinkName){
                $I->Click($aLinkText[$z]);
        }
    }

    return $this;
}

调用功能

public function checkGrabmultiple(AcceptanceTester $I)
{
    $I->click('Online Games');
    $aLinkText = $I->grabMultiple("//div[@class='col']",'class');
    $LinkName = 'Gold Spinner';
    $I->debug(demoInjection($aLinkText,$sLinkName));
}

2 个答案:

答案 0 :(得分:0)

调用辅助方法的正确方法是

getLocalRow

因为helper方法属于Tester而不属于Cest类。

答案 1 :(得分:0)

根据您的代码版本,您可能必须运行

 php codecept.phar build
在对AcceptanceTester.php进行更改后

在更高版本上,这是在执行testes之前运行的,但您可以禁用它。

此命令在AcceptanceTesterActions.php中使用您的新函数/步骤名称停止一个函数。 这将允许代码以

的形式使用您的新功能
  

$ I-&GT; demoInjection($ aLinkText,$ sLinkName);

祝你好运,快乐的测试!!