Symfony1 SFFormExtrapPlugin是否在功能测试期间验证表单?

Symfony1 SFFormExtrapPlugin是否在功能测试期间验证表单?,symfony1,recaptcha,functional-testing,Symfony1,Recaptcha,Functional Testing,嗨,我在寻找一个想法,当我在symfony中处理功能测试时,从sfFormExtraPlugin中跳过验证码提交 有什么想法吗 谢谢 我的做法是,如果代码在测试环境中运行,根本不使用验证码。这样你就不必在测试期间担心它了。尽管我仍然在开发环境中运行它,因为至少那时我仍然可以确保它时不时地工作 不过,这并不是最好的解决方案。我希望reCaptcha允许您定义一个额外的测试API密钥,在这里,除了密钥始终有效外,其他一切都可以正常工作,但上次我检查时它们没有 我认为下一个最好的方法是为reCaptc

嗨,我在寻找一个想法,当我在symfony中处理功能测试时,从sfFormExtraPlugin中跳过验证码提交

有什么想法吗


谢谢

我的做法是,如果代码在测试环境中运行,根本不使用验证码。这样你就不必在测试期间担心它了。尽管我仍然在开发环境中运行它,因为至少那时我仍然可以确保它时不时地工作

不过,这并不是最好的解决方案。我希望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对环境敏感,因此您只需指定环境的值

希望这是给某人的