【问题标题】:Recaptcha in rails : verify_recaptcha returning always true in testRails 中的 Recaptcha:verify_recaptcha 在测试中总是返回 true
【发布时间】:2014-07-23 14:09:12
【问题描述】:

我在我的 Rails 3.2 应用程序中集成了 Recaptcha gem。在我的本地盒子里一切正常。

但是当我将它部署在测试服务器中时,验证码会显示在页面中。但是无论我为验证码输入什么值,verify_recaptcha 函数都会为它返回 true。所以所有的值都被验证码接受了。

在开发系统中它可以工作,但在测试系统中它不工作,你能告诉我为什么会出现这种行为吗?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 nginx proxy recaptcha


    【解决方案1】:

    您可以从 Recaptcha.configuration.skip_verify_env 中删除条目以强制在测试中使用 reCAPTCHA。我看到 testcucumber 默认在该数组中。

    Recaptcha.configuration.skip_verify_env.delete 'test'
    

    为我工作。

    【讨论】:

    • 你把这个放在哪里?
    • 可以将其放置在各种位置。我直接在我的应用程序中引用 recaptcha 的唯一系统测试类中拥有它。如果多个测试与 recaptcha 交互,也可以将其放在测试助手中(test_helper.rb、spec_helper.rb、rails_helper.rb 等,具体取决于您使用的测试框架)。
    【解决方案2】:

    我明白了。我浏览了recaptcha gem的源代码。如果环境为 test,则在该 verify_recaptcha 函数中始终返回 true

    【讨论】:

      猜你喜欢
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-12
      相关资源
      最近更新 更多