Видеомагнитофон: "В данный момент кассета не используется". при создании второй кассеты

Я пытаюсь выполнить функциональные тесты RSpec на внешнем API.

Моя конфигурация VCR выглядит следующим образом:

VCR.configure do |config|
  config.cassette_library_dir = 'spec/vcr'
  config.hook_into :webmock
  config.ignore_localhost = true
end

Мой тест выглядит так:

feature 'Visitor' do

  scenario 'performs an archival', :clean => false, :js => true do 
    mock_login
    visit '/dashboard'
    click_link 'Test Company'
    VCR.use_cassette('feature/archive') do
      within '.nav-app' do 
        click_button 'Quicksave' 
      end
    end
  end

  scenario 'performs a restore', :js => true do
    mock_login
    visit '/dashboard'
    click_link 'Test Company'
    VCR.use_cassette('feature/restore') do
      within '.nav-app' do 
        click_button 'Quickload' 
      end
    end
  end

end

archive кассета создана просто отлично, однако restore Кассета выдает ошибку:

An HTTP request has been made that VCR does not know how to handle:

GET http://SomeApiUrl/...

There is currently no cassette in use.

Я, очевидно, сказал VCR создать и использовать другую кассету с:

VCR.use_cassette('feature/restore')

Так что же дает?

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

2 ответа

Попробуйте пройти , :record => :new_episodes в качестве аргумента use_cassete, Если вы не используете запись новых эпизодов. Он думает, что это один и тот же запрос.

Оказывается, я тупой. Проблема заключалась в том, что я использовал имя файла vcr.rb настроить видеомагнитофон; Я подумал, что не важно, что это было в моем spec/support папка, но это был не тот случай.

Простое переименование в vcr_config.rb исправил проблему...

Другие вопросы по тегам