Видеомагнитофон с огурцом для Braintree

Я использую Cucumber для тестирования интеграции Braintree (для платежей по кредитным картам) в приложении Rails 3.2. Я пытаюсь добавить гем видеомагнитофона для записи ответа от 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

person ppj    schedule 07.01.2016    source источник


Ответы (1)


добавление следующей строки в c.default_cassette_options избавляет от ошибки not in gzip format.
:serialize_with => :compressed

Это сжимает кассету после записи в формате yaml.

Одна вещь, которая до сих пор меня озадачивает, - это то, почему видеомагнитофон вообще пытается разархивировать несжатую кассету ... еще не нашел для этого настройки.

person ppj    schedule 08.01.2016