2011-11-16 15 views
5

के माध्यम से ककड़ी के साथ वीसीआर का उपयोग करते हुए मैं कुछ ककड़ी सुविधाओं जो गूगल मैप्स रूटिंग एपीआई के साथ बातचीत करने की जरूरत है। मैं VCR का उपयोग करके इन इंटरैक्शन को रोकने की कोशिश कर रहा हूं।टैग

मैं इतनी तरह मेरे सुविधाओं के लिए एक वीसीआर टैग जोड़ लिया:

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

और फिर 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 

में मेरी वीसीआर विन्यास जोड़ा लेकिन जब मैं अपने cukes चलाने के लिए, मुझे बताया गया है ..

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

उत्तर

12

आप ignore localhost requests को वीसीआर सेट करना होगा। अन्यथा, जब कैपिबरा आपकी वेबसाइट से किसी भी पेज का अनुरोध करने का प्रयास करता है, तो वीसीआर इसे अवरुद्ध कर देगा।

अपने वीसीआर config ब्लॉक करने के लिए 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 
+3

Fwiw, समस्या (और समाधान) ककड़ी के साथ कोई संबंध नहीं है। इसमें कैपिबरा के साथ सब कुछ है और यह तथ्य है कि यह आपके ऐप को बूट करता है और जब आप जावास्क्रिप्ट ड्राइवर का उपयोग करते हैं तो इसके लिए अनुरोध करता है। यदि आप टेस्ट :: यूनिट या आरएसपीसी के साथ कैपिबरा का इस्तेमाल करते हैं तो आपको वही समस्या होगी। –