我正在尝试为我的代码功能测试创建一个帮助类,这样可以更快地指定以超级用户身份登录。这是我的帮手:
class Laravel5Helper extends Laravel5 {
public function amSuperAdmin() {
$this->amLoggedAs(['username' => 'super', 'password'=> 'password']);
}
}
但这似乎不起作用。当我在正常测试中使用声明$this->amLoggedAs(['username' => 'super', 'password'=> 'password']);
时,它会按预期登录用户,但是当我使用$I->amSuperAdmin()
时,它似乎无法执行此操作。没有错误;该方法在我生成的FunctionalTester类中可见。当我跟踪代码时,我可以看到在Laravel5 :: amLoggedAs方法中传递的身份验证,但是测试会被重定向到我的应用程序的登录页面,就好像身份验证失败一样。
我做错了什么?
答案 0 :(得分:0)
你的助手是与Laravel5模块不同的对象, 你应该得到Laravel5模块的实例并调用它的方法:
class Laravel5Helper extends \Codeception\Module {
public function amSuperAdmin() {
$this->getModule('Laravel5')->amLoggedAs(['username' => 'super', 'password'=> 'password']);
}
}