用于 Braintree 的 Cucumber 录像机
VCR with Cucumber for Braintree
我正在使用 Cucumber 在 Rails 3.2 应用程序中测试 Braintree 集成(用于信用卡支付)。我正在尝试添加 VCR gem 来记录 Braintree 对规格的响应。
当我运行标记场景时,它通过并记录磁带。
问题:
当我重新运行 检查录制磁带的使用时,它失败并显示此消息 -
not in gzip format (ActionView::Template::Error)
在加载信用卡(托管)字段后立即执行步骤。
我试过使用卡带选项 :decode_compressed_response
,但我不确定我是否理解正确。
任何正确方向的指示将不胜感激! :-)
这是我的录像机配置 (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
将以下行添加到 c.default_cassette_options
可以消除 not in gzip format
错误。
:serialize_with => :compressed
这会在以 yaml 格式录制磁带后对其进行 gzip 压缩。
仍然让我感到困惑的一件事是,为什么 VCR 首先尝试解压缩 non-compressed 盒式磁带...还没有找到相应的设置。
我正在使用 Cucumber 在 Rails 3.2 应用程序中测试 Braintree 集成(用于信用卡支付)。我正在尝试添加 VCR gem 来记录 Braintree 对规格的响应。
当我运行标记场景时,它通过并记录磁带。
问题:
当我重新运行 检查录制磁带的使用时,它失败并显示此消息 -
not in gzip format (ActionView::Template::Error)
在加载信用卡(托管)字段后立即执行步骤。
我试过使用卡带选项 :decode_compressed_response
,但我不确定我是否理解正确。
任何正确方向的指示将不胜感激! :-)
这是我的录像机配置 (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
将以下行添加到 c.default_cassette_options
可以消除 not in gzip format
错误。
:serialize_with => :compressed
这会在以 yaml 格式录制磁带后对其进行 gzip 压缩。
仍然让我感到困惑的一件事是,为什么 VCR 首先尝试解压缩 non-compressed 盒式磁带...还没有找到相应的设置。