我想测试登录功能,如果它工作propperly,只允许合法用户和活跃用户在CakePHP的测试登录
我的用户固定装置包括:
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
我在UsersController::beforeFilter
设置$this->Auth->autoRedirect = false;
,我做了一些饼干设置的东西
当我debug($this->data);
在UsersController::login()
它显示了完全相同的数据测试和normaly登录时的时候。但是,当测试登录失败,我得到$this->Auth->loginError
消息,而不是登录。
如何正确测试登录操作?
链接不再有效... :( – 2013-02-21 06:24:48
https://github.com/cakephp/cakephp/blob/26d526f6240239094aa714b86093cd36fbb9a1f3/cake/tests/cases/libs/controller/components/auth.test.php#L561 – dogmatic69 2013-03-05 14:09:09