录像机与黄瓜为Braintree

时间:2016-01-07 04:34:30

标签: ruby-on-rails cucumber braintree vcr

我正在使用Cucumber在Rails 3.2应用程序中测试Braintree集成(用于信用卡支付)。我正在尝试添加VCR gem以记录Braintree对规格的响应。

当我运行标记的场景时,它会传递并录制录像带。

问题: 当我重新检查录制的录像带的使用时,它会失败并显示此信息 -
not in gzip format (ActionView::Template::Error) 在加载信用卡(托管)字段后立即执行步骤。

我尝试使用卡带选项:decode_compressed_response,但我不确定我是否理解。

任何正确方向的指针都将受到赞赏! : - )

这是我的VCR配置(feature/config/vcr.rb):

require 'vcr'

VCR.configure do |c|
  c.cassette_library_dir = 'features/cassettes'
  c.hook_into :webmock
  c.default_cassette_options = {
    :decode_compressed_response => false
  }
  c.ignore_localhost = true
end

VCR.cucumber_tags do |t|
  t.tag  '@vcr', :use_scenario_name => true
end

1 个答案:

答案 0 :(得分:0)

将以下行添加到c.default_cassette_options可以消除not in gzip format错误 :serialize_with => :compressed

在以yaml格式录制后,这会对录像带进行压缩。

还有一件事让我感到困惑的是,为什么VCR首先尝试解压缩非压缩盒式磁带......还没有找到适合它的设置。