У меня возникли проблемы с тем, что видеомагнитофон перезаписывал кассеты, поэтому я попытался полностью удалить кассету и был шокирован тем, что наш тестовый набор продолжал проходить. Как это возможно? Я понимаю, что кассеты - это светильники, используемые для имитации внешних вызовов API. Без них он действительно должен попасть в API и сохранить новую кассету. Вот мой vcr.rb
снятие кассеты с видеомагнитофоном не приводит к сбою RSpec
require 'vcr'
VCR.configure do |c|
c.cassette_library_dir = 'spec/fixtures/vcr'
c.hook_into :webmock
c.default_cassette_options = { serialize_with: :json, record: :once }
c.debug_logger = File.open(Rails.root.join('log', 'vcr.log'), 'a')
c.filter_sensitive_data('---WUNDERGROUND_KEY---') { ENV['WUNDERGROUND_KEY'] }
end
Вот один из таинственно проходящих испытаний:
require 'spec_helper'
describe WeatherMan do
describe ".current_outdoor_temp" do
it "returns current outdoor temperature from Wunderground API" do
VCR.use_cassette('wunderground') do
temperature = WeatherMan.current_outdoor_temp(10004, 0)
expect(temperature).to be_a Numeric
end
end
end
end