en mi directorio de soporte pepino Tengo el siguiente en vcr.rb:Rubí joya VCR continúa registrando las mismas peticiones
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
estoy geocodificación nombres de ciudades que hace que las llamadas a la API de Google Maps. Estoy tratando de grabar y stub estas solicitudes, pero mantiene el registro de las mismas peticiones a un mismo archivo 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
Es el mismo URL y muy misma petición, no debería VCR talón de la solicitud? ¿Cómo puedo evitar que mis especificaciones penetren en la API cada vez que trato de buscar la misma ciudad?
@Erik J - Si hay * alguien *, debe escuchar acerca de [VCR] (https://github.com/myronmarston/vcr/) es alguien llamado Myron;) – Gareth
Gracias, Myron, esperaba que apareciera ;) Me acabo de dar cuenta de que mis encabezados de respuesta incluyen 'Vence: - Vie, 13 Jul 2012 18:31:50 GMT" que es 24 horas después de la fecha de solicitud. ¿VCR lo nota y trata de hacer una solicitud nuevamente? Si es así, ¿hay alguna forma de desactivarlo? –
No, la videograbadora no usa esto en absoluto. Hay una opción [re_record_interval] (https://www.relishapp.com/myronmarston/vcr/v/2-2-3/docs/cassettes/automatic-re-recording), pero eso no mira ningún encabezado (solo usa el intervalo configurado) y no produciría las interacciones duplicadas que estás viendo; reemplazaría la antigua interacción HTTP en lugar de solo agregar una nueva. –