Rails rspec特性测试使用'stripe-ruby-mock'gem失败

问题描述 投票:1回答:1

在开发环境中,我可以测试条带支付(使用测试卡)。但是运行rspec功能测试,付款失败,我收到以下错误。

已禁用对TLS版本低于1.2的测试模式请求的支持,并且将在2018年6月13日删除实时模式下的支持。请使用TLS 1.2或更高版本启动HTTPS连接。您可以在https://stripe.com/blog/upgrading-tls了解更多相关信息。

我正在使用capybara(v2.13)和poltergeist进行特征测试。我尝试了这个URL中提到的升级步骤。但问题仍然存在。

ruby-on-rails stripe-payments rspec-rails tls1.2 poltergeist
1个回答
3
投票

由于你的问题不清楚这个答案假定当“浏览器”(Poltergeist使用的PhantomJS)向Stripe发出请求时发生错误。如果服务器向Stripe发出请求时发生错误,则此答案不会有任何区别。

PhantomJS(Poltergeist使用)有一个'--ssl-protocol'命令行选项,Poltergeist默认为TLSv1。您可以在驱动程序注册中自定义 - https://github.com/teampoltergeist/poltergeist#customization

Capybara.register_driver :poltergeist do |app|
  Capybara::Poltergeist::Driver.new(app, 
   phantomjs_options: ['--ssl-protocol=TLSv1.2']
  )
end
© www.soinside.com 2019 - 2024. All rights reserved.