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

codeception unable to call a function defined in acceptancetester.php from a cest file

嗨,我是代码接收的新手, 试图从 Cest 调用 AcceptanceTester.php 中定义的函数。 但是得到错误 return Call to undefined function 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));
}

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

$I->demoInjection($aLinkText,$sLinkName);

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

根据您的代码接收版本,您可能需要 运行

 php codecept.phar build

对 AcceptanceTester.php 进行更改后。

在更高版本中,这是在执行睾丸之前 运行,但您可以禁用它。

此命令使用您在 AcceptanceTesterActions.php 中的新 function/step 名称创建一个函数。 这将允许 codecetion 以

的形式使用您的新函数

$I->demoInjection($aLinkText,$sLinkName);

祝你好运,测试愉快!!