Symfony1 SFFormExtrapPlugin是否在功能测试期间验证表单?
嗨,我在寻找一个想法,当我在symfony中处理功能测试时,从sfFormExtraPlugin中跳过验证码提交 有什么想法吗Symfony1 SFFormExtrapPlugin是否在功能测试期间验证表单?,symfony1,recaptcha,functional-testing,Symfony1,Recaptcha,Functional Testing,嗨,我在寻找一个想法,当我在symfony中处理功能测试时,从sfFormExtraPlugin中跳过验证码提交 有什么想法吗 谢谢 我的做法是,如果代码在测试环境中运行,根本不使用验证码。这样你就不必在测试期间担心它了。尽管我仍然在开发环境中运行它,因为至少那时我仍然可以确保它时不时地工作 不过,这并不是最好的解决方案。我希望reCaptcha允许您定义一个额外的测试API密钥,在这里,除了密钥始终有效外,其他一切都可以正常工作,但上次我检查时它们没有 我认为下一个最好的方法是为reCaptc
谢谢 我的做法是,如果代码在测试环境中运行,根本不使用验证码。这样你就不必在测试期间担心它了。尽管我仍然在开发环境中运行它,因为至少那时我仍然可以确保它时不时地工作 不过,这并不是最好的解决方案。我希望reCaptcha允许您定义一个额外的测试API密钥,在这里,除了密钥始终有效外,其他一切都可以正常工作,但上次我检查时它们没有 我认为下一个最好的方法是为reCaptcha小部件编写验证程序,这样,如果环境是测试环境,或者基于某个应用程序配置设置,您只需通过验证,而不必麻烦reCaptcha服务器
我很想听听是否有人有更好的想法。我做了一些事情,比如扩展了验证器,或者使用小部件来测试上下文,但最后我做到了: 在app.yml中:
test:
.general:
recaptcha_enabled: false
以我的名义:
if(sfConfig::get('app_recaptcha_enabled', true))
$this->validatorSchema['captcha'] = new sfValidatorReCaptcha(array('private_key' => sfConfig::get('app_recaptcha_private_key'), "required" => true));
else
$this->validatorSchema['captcha'] = new sfValidatorString(array('required' => false));
就这些。app.yml对环境敏感,因此您只需指定环境的值
希望这是给某人的