【发布时间】:2015-12-20 21:15:45
【问题描述】:
我想创建一些可重用的方法,这些方法使用 Form Helper 中不同 AcceptanceTester 方法的集合。这些函数不适合PageObject,并且由于StepObjects继承自AcceptanceTester,您可以在方法中注入它们替换AcceptanceTester,我不想创建一个Form StepObject并同时注入AcceptTester和Form,这看起来很草率。
有没有办法在帮助程序中访问 $I ?这似乎是一个帮助者的用例。或者这不是你应该使用助手的方式吗?如果没有人可以用一个真实的例子来解释他们的用法,那么本节中的文档似乎对我的理解没有帮助。我可以看到我可以将 $I 传递给助手,但我宁愿注入两个 StepObjects,传递 $I 看起来不对。
助手
<?php
namespace Helper;
class Form extends \Codeception\Module
{
public function seeFormError($message) {
$I = ???
$I->see($message, 'small.error);
}
}
使用
protected $form;
protected function _inject(\Helper\Form $form)
{
$this->form = $form;
}
public function login()
{
$this->form->seeFormError('Enter a valid email');
}
【问题讨论】:
-
可以这样访问其他模块的方法:$this->getModule('PhpBrowser')->see();
标签: php codeception acceptance-testing