Использование видеомагнитофона с огурцом через теги - PullRequest
5 голосов
/ 16 ноября 2011

У меня есть некоторые функции Cucumber, которые должны взаимодействовать с API-интерфейсом Google Maps Routing.Я пытаюсь заглушить эти взаимодействия, используя VCR .

Я добавил тег VCR к своим функциям, например так:

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

И затем добавил свой VCRконфигурация в 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

Но когда я запускаю свои кукы, мне говорят ..

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

1 Ответ

12 голосов
/ 16 ноября 2011

Вы должны установить VCR на игнорировать запросы локального хоста .В противном случае, когда capybara попытается запросить любую страницу с вашего веб-сайта, видеомагнитофон заблокирует ее.

Добавьте c.ignore_localhost = true в ваш блок конфигурации видеомагнитофона.

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