У меня возникли проблемы с тем, чтобы видеомагнитофон перезаписывал кассеты, поэтому я попытался полностью удалить кассету и был потрясен, обнаружив, что мой набор тестов продолжает проходить. Как это возможно? Насколько я понимаю, кассеты — это приспособления, используемые для имитации внешних вызовов API. Без них он должен фактически попасть в API и сохранить новую кассету. Вот мой vcr.rb
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