我想写一个通用的方法,在某些时候我可以说
$I->amOnPage('/');
$I->dontSeeAnyWarningsOrErrors ();
但我没有成功。我一直在使用代码只有几个小时,所以我可能很容易遗漏一些东西,但是搜索他们的网站,他们的github repo和SO没有找到任何东西来帮助我。
这是我尝试过的结果(结果:“ErrorException:AcceptanceTester缺少参数1 :: dontSeeAnyWarningsOrErrors()”):
class AcceptanceHelper extends \Codeception\Module
{
public function dontSeeAnyWarningsOrErrors ()
{
$this->dontSee ('PHP Warning');
$this->dontSee ('PHP Error');
$this->dontSee ('PHP Notice');
$this->dontSee ('There was a website error');
$this->dontSee ('Parse error: syntax error');
$this->dontSee ('Call Stack:');
}
}
如果我这样称呼它:
$I->amOnPage('/');
$I->dontSeeAnyWarningsOrErrors (null);
然后我得到“致命错误:调用未定义的方法Codeception \ Module \ AcceptanceHelper :: dontSee()”
另外(方法不存在;我在核心文件中找到的东西):
$res = $this->proceedSee('PHP Warning', null);
$this->assertNot($res);
另外(“Undefined property $ session”(使用Selenium和Firefox)):
$page = $this->getModule('WebDriver')->session->getPage();
此外,当我尝试使用“dontSeeAnyWarningsOrErrors”时,如果我没有定义任何参数,那么我会抱怨如果我没有添加参数(在调用中)。
谢谢你, 汉斯
答案 0 :(得分:0)
我用这个来管理它:
$I->dontSeeAnyWarningsOrErrors ($I);
然后:
class AcceptanceHelper extends \Codeception\Module
{
public function dontSeeAnyWarningsOrErrors ($browser)
{
$browser->dontSee ('PHP Warning');
$browser->dontSee ('PHP Error');
$browser->dontSee ('PHP Notice');
$browser->dontSee ('There was a website error');
$browser->dontSee ('Parse error: syntax error');
$browser->dontSee ('Call Stack:');
}
}