Видеомагнитофон: "В данный момент кассета не используется". при создании второй кассеты
Я пытаюсь выполнить функциональные тесты 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
исправил проблему...