私はこのように私のコントローラのコードを持っている:レスポンスコードは403
あるのでsymfonyのセッションとPHPUnitのトラブル
public function testSomeActionFirst()
{
$client = static::createClient();
$client->request('POST', $this->generateRoute('my_route'));
return $client->getResponse()->getContent();
}
public function testSomeActionSecond($key)
{
$client = static::createClient();
$client->request('POST', $this->generateRoute('my_route'), [], [
'key' => $key
]);
$this->assertTrue($client->getResponse()->isOk()
}
そして、第二のテストは常に失敗し、:
/**
* @param Request $request
* @param $verifiedResponse
* @Route(...)
* @return mixed
*/
public function someAction(Request $request)
{
$session = $request->getSession();
$session->set('key', mt_rand(0, 999));
if ($request->get('key') === $session->get('key')) {
return true;
} else {
return $session->get('key');
}
throw $this->createAccessDeniedException();
}
そして、ここでは私の2つのユニットテストですセッションは要求間で保存されないためです。どのように私はそれを修正することができます?
同じテスト方法で2回連続してコールする必要があります – jack