创建功能测试以测试在 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 个表单时,我上面描述的方式是可以的,但如果项目包含数十个独特的表单,它就会变得很痛苦。