sfFormExtraPlugin reCaptcha在功能测试期间验证表单?

时间:2011-03-02 17:03:31

标签: symfony1 recaptcha functional-testing

您好我正在寻找一个想法,当我在symfony处理我的功能测试时,跳过来自sfFormExtraPlugin的验证码?

有什么想法吗?

谢谢!

2 个答案:

答案 0 :(得分:0)

我完成它的方法就是在代码在测试环境中运行时根本不使用验证码。这样您在测试期间就不必担心它。虽然我仍然在开发环境中运行它,但至少我仍然可以确保它一次又一次地工作。

但这不是最好的解决方案。我希望reCaptcha允许你定义一个额外的“测试”API密钥,其中一切都会正常工作,除了密钥总是验证,但它们不是我最后一次检查。

我认为下一个最好的事情是为reCaptcha小部件编写验证器代码,这样如果环境是“测试”,或者基于某个应用程序配置设置,您只需通过验证而不必费心去除reCaptcha服务器。

我很想知道是否有人有更好的想法。

答案 1 :(得分:0)

很少有东西,例如扩展验证器,或者小部件来测试上下文,但最后我刚刚完成了: 在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是环境敏感的,所以你只需要为你的环境指定值。

希望这是某个人!