yii通过身份验证的用户进行功能测试

时间:2012-07-03 19:43:20

标签: php authentication yii functional-testing

我正在尝试使用selenium在YII上对经过身份验证的用户运行功能测试。 我写了以下

protected function _login(){

    $id=new UserIdentity('admin','admin');
    $id->authenticate();
    if($id->errorCode===UserIdentity::ERROR_NONE)
    {
        Yii::app()->user->login($id);
        return true;
    }
    return false;
}
public function testSpot(){
    $this->assertTrue($this->_login());
    ob_end_flush();
    $this->open('production/request/create');
}

我在bootstrap.php上添加了一个ob_start()因为标题被发送了两次并在登录后刷新了它。当访问生产/请求/创建进入登录页面时测试,因为甚至没有计算登录虽然它是有效的。

编辑: 如果在phpunit上使用--stderr选项,则不需要ob_end_flush和ob_start。

1 个答案:

答案 0 :(得分:2)

这不会起作用,因为您只对从命令行运行的会话进行身份验证。您需要对Web会话进行身份验证。

请参阅此评论:

http://www.yiiframework.com/doc/guide/1.1/en/test.functional#c10015