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

codeception无法从cest文件调用acceptancetester.php中定义的函数,php,codeception,Php,Codeception,嗨,我是codeception的新手, 试图从Cest调用AcceptanceTester.php中定义的函数。 但是获取错误返回对未定义函数demoInjection()的调用 下面是我的函数定义和调用函数 public function demoInjection($aLinkText,$sLinkName) { $I= $this; for($z=0;$z<=Count($aLinkText);$z++) { if ($aLinkText[$

嗨,我是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));
}

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

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

因为helper方法属于测试人员而不是Cest类。

调用helper方法的正确方法是

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

因为helper方法属于测试人员,而不属于Cest类。

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

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

在更高版本中,这是在执行测试之前运行的,但您可以禁用它

此命令在AcceptanceTesterActions.php中使用新函数/步骤的名称来标记函数。 这将允许codecetion以

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


祝你好运,考试愉快

根据您的codeception版本,您可能需要运行

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

在更高版本中,这是在执行测试之前运行的,但您可以禁用它

此命令在AcceptanceTesterActions.php中使用新函数/步骤的名称来标记函数。 这将允许codecetion以

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


祝你好运,考试愉快

它应该是
$this->demoInjection
它应该是
$this->demoInjection
在这种情况下,错误应该是不同的-应该说方法是未定义的。它给出的错误与我上面提到的“调用未定义的函数demoInjection()”相同。它只是版本2.1的问题。当我升级到2.2时,它工作得很好。非常感谢:)在这种情况下,错误应该是不同的-应该说该方法未定义。它给出的错误与我上面提到的“调用未定义的函数demoInjection()”相同。它只是版本2.1的问题。当我升级到2.2时,它工作得非常好。非常感谢:)我尝试了相同的方法,也生成了AcceptanceTesterAction.php,但其中没有包含我在AceptanceTester.php.1中创建的函数的步骤名称。您正在使用哪个版本的codeception?(php codecept.phar-V)2。你能给我“php codecept.phar build”的输出吗?这里是php codecept.phar Building为suites构建Actor类的输出:acceptance,functional,unit->AcceptanceTesterActions.php已成功生成。添加了0个方法\AcceptanceTester包括以下模块:WebDriver、\Helper\Acceptance->FunctionalTesterActions.php已成功生成。已添加0个方法\FunctionalTester包含成功生成的模块:\Helper\Functional->UnitTesterActions.php。添加了0个方法\UnitTester包含模块:Asserts、\Helper\UnitI我尝试了相同的方法,并生成了AcceptanceTesterAction.php,但其中没有包含我在AceptanceTester.php.1中创建的函数的步骤名称。您正在使用哪个版本的codeception?(php codecept.phar-V)2。你能给我“php codecept.phar build”的输出吗?这里是php codecept.phar Building为suites构建Actor类的输出:acceptance,functional,unit->AcceptanceTesterActions.php已成功生成。添加了0个方法\AcceptanceTester包括以下模块:WebDriver、\Helper\Acceptance->FunctionalTesterActions.php已成功生成。已添加0个方法\FunctionalTester包含成功生成的模块:\Helper\Functional->UnitTesterActions.php。添加了0个方法\UnitTester包括以下模块:断言、\Helper\Unit