在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个表单时,我上面描述的方式是可以的,但如果项目包含数十个独特的表单,则会变得很痛苦.