我正在尝试使用硒在 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 。