SymfonyでCSRF保護が有効になっているフォームをテストするための機能テストを作成する最良の方法は何ですか?
現在、各フォームを送信する前に、次のコードを追加する必要があります。
$form = new sfGuardFormSignin();
$token = $form->getCSRFToken();
$token_name = $form->getCSRFFieldName();
次に、$tokenと$token_nameを追加して、次のようなパラメーターを作成します。
call('/login', 'POST', array (
'signin' =>
array (
'username' => $username,
'password' => $password,
$token_name => $token,
)))
ドキュメントで提案されているオプション:
'_with_csrf' => true,
まったく動作しません。
手動でテストされた各フォームにトークンを追加しないようにするためのより簡単な方法はありますか?または、テストの実行時にcsrfチェックをオフにする方法はありますか?
上記で説明した方法は、1〜2個のフォームをテストする必要がある場合は問題ありませんが、プロジェクトに10個の固有のフォームが含まれていると、面倒になります。