Ruby on rails rails中的Recaptcha:验证\u Recaptcha在测试中始终返回true
我集成在Rails 3.2应用程序中。在我本地的盒子里一切都很好 但当我在测试服务器中部署它时,验证码显示在页面中。但无论我为验证码输入什么值,Ruby on rails rails中的Recaptcha:验证\u Recaptcha在测试中始终返回true,ruby-on-rails,ruby-on-rails-3,nginx,proxy,recaptcha,Ruby On Rails,Ruby On Rails 3,Nginx,Proxy,Recaptcha,我集成在Rails 3.2应用程序中。在我本地的盒子里一切都很好 但当我在测试服务器中部署它时,验证码显示在页面中。但无论我为验证码输入什么值,verify\u recaptcha函数都会为其返回true。所以所有的值都被captcha接受了 在开发系统中它工作,但在测试系统中它不工作,您能告诉我为什么会出现这种行为吗 我知道原因了。我浏览了recaptcha gem的源代码。在这种情况下,verify\u recaptcha函数始终返回true如果环境是test,则可以从recaptcha.c
verify\u recaptcha
函数都会为其返回true。所以所有的值都被captcha接受了
在开发系统中它工作,但在测试系统中它不工作,您能告诉我为什么会出现这种行为吗 我知道原因了。我浏览了recaptcha gem的源代码。在这种情况下,
verify\u recaptcha
函数始终返回true
如果环境是test
,则可以从recaptcha.configuration.中删除条目。跳过\u verify\u env
以强制在测试中使用recaptcha。我看到默认情况下,test
和cucumber
都在该数组中
Recaptcha.configuration.skip_verify_env.delete 'test'
为我工作。你把这个放在哪里?你可以把它放在不同的地方。我在我的应用程序中引用recaptcha的唯一系统测试类中直接拥有它。如果有多个测试与recaptcha交互,还可以将其放置在测试助手(test_helper.rb、spec_helper.rb、rails_helper.rb等,具体取决于您使用的测试框架)。