私のキュウリサポートディレクトリでは、vcr.rbに次のものがあります。
require 'vcr'
VCR.configure do |c|
c.cassette_library_dir = 'fixtures/vcr_cassettes'
c.hook_into :webmock
c.ignore_localhost = true
c.default_cassette_options = { record: :new_episodes }
end
GoogleMapsAPIを呼び出す都市名をジオコーディングしています。これらのリクエストを記録してスタブしようとしていますが、同じymlファイルに同じリクエストを記録し続けます:
- request:
method: get
uri: http://maps.googleapis.com/maps/api/geocode/json?address=Miami,%20FL&language=en&sensor=false
body:
encoding: US-ASCII
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- ! '*/*'
User-Agent:
- Ruby
# response...
- request:
method: get
uri: http://maps.googleapis.com/maps/api/geocode/json?address=Miami,%20FL&language=en&sensor=false
body:
encoding: US-ASCII
string: ''
headers:
Accept-Encoding:
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
Accept:
- ! '*/*'
User-Agent:
- Ruby
これは同じURLでまったく同じリクエストですが、VCRはリクエストをスタブ化するべきではありませんか?同じ都市を検索しようとするたびにスペックがAPIにヒットしないようにするにはどうすればよいですか?