セッションを実装するコントローラー メソッドでコントローラー ベースの単体テストを実行しようとすると、問題が発生します。
この場合、コントローラーメソッドは次のとおりです。
/**
* @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;
テストに参加しようとしましたが、それでもうまくいきません。セッションを使用するコントローラーを単体テストするために、このような問題を解決しようとした人はいますか?