尝试在实现会话的控制器方法上运行基于控制器的单元测试时遇到问题。
在这种情况下,这里是控制器方法:
/**
* @Route("/api/logout")
*/
public function logoutAction()
{
$session = new Session();
$session->clear();
return $this->render('PassportApiBundle:Login:logout.html.twig');
}
和功能测试:
public function testLogout()
{
$client = static::createClient();
$crawler = $client->request('GET', '/api/logout');
$this->assertTrue($client->getResponse()->isSuccessful());
}
产生的错误:
无法启动会话,因为标头已发送。(500内部服务器错误)
我试过$this->app['session.test'] = true;
参加测试,但还是不行。有没有人尝试解决这样的问题来对使用会话的控制器进行单元测试?