我正在使用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
答案 0 :(得分:0)
将以下行添加到c.default_cassette_options
可以消除not in gzip format
错误
:serialize_with => :compressed
在以yaml格式录制后,这会对录像带进行压缩。
还有一件事让我感到困惑的是,为什么VCR首先尝试解压缩非压缩盒式磁带......还没有找到适合它的设置。