我想测试登录功能是否正常工作并且只允许有效和活跃的用户进入。
我的用户夹具包含:
array(
'password' => '*emptyPasswordHash*', // empty password
'username' => 'Lorem',
'balance' => 0,
'currency' => 'USD',
'id' => 1,
'user_group_id' => 3, //Customer
'active' => 1,
'hash' => 'LoremHash'
),
我的测试功能如下所示:
function testLogin() {
//test valid login
$result = $this->testAction('/users/login', array(
'data' => array(
'User' => array(
'username' => 'Lorem',
'pass' => '',
'remember' => true
)),
'method' => 'post',
'return' => 'view'
));
debug($result);
}
登录表单有 3 个输入username:password和remember
我已经设置$this->Auth->autoRedirect = false;了UsersController::beforeFilter,我正在做一些 cookie 设置的东西
当我debug($this->data);在UsersController::login()其中测试时和正常记录时显示完全相同的数据。但是在测试登录失败时,我收到$this->Auth->loginError消息而不是登录。
如何正确测试登录操作?