2011-11-16 11 views
5

Tengo algunas características de pepino que deben interactuar con la API de enrutamiento de Google Maps. Estoy tratando de anular estas interacciones usando VCR.Uso de videograbadora con etiquetas de pepino

he añadido una etiqueta de vídeo con las funciones que de este modo:

@google_routing_api @javascript 
Scenario: Creating a bus 
    Given I am on the buses page 
    When I follow "Get Started Now" 

Y luego añade la configuración de mi VCR en features/support/vcr.rb

require 'vcr' 

VCR.config do |c| 
    # INFO: This is relative to the Rails.root 
    c.cassette_library_dir = 'features/fixtures/vcr_cassettes' 
    c.stub_with :fakeweb 
end 

# INFO: https://github.com/myronmarston/vcr/wiki/Usage-with-Cucumber 
VCR.cucumber_tags do |t| 
    t.tag '@google_routing_api' 
end 

Pero cuando corro mis pepinos, me han dicho ..

Real HTTP connections are disabled. Unregistered request: GET http://127.0.0.1:54181/__identify__ 

Respuesta

12

Debes configurar el VCR en ignore localhost requests. De lo contrario, cuando el capibara intente solicitar cualquier página de su sitio web, la videograbadora lo bloqueará.

Agregue c.ignore_localhost = true a su bloque de configuración de VCR.

VCR.config do |c| 
    c.cassette_library_dir = 'features/fixtures/vcr_cassettes' 
    c.stub_with :fakeweb 
    c.ignore_localhost = true 
end 
+3

FWIW, el problema (y la solución) no tiene nada que ver con el pepino. Tiene todo que ver con el capibara y el hecho de que inicia su aplicación y le hace solicitudes cuando usa un controlador de JavaScript. Tendría el mismo problema si usaba carpincho con Test :: Unit o RSpec. –