2016-07-10 12 views
0

Ich versuche gerade VCR für meine App korrekt zu starten. Im Moment scheint alles richtig konfiguriert zu sein, aber ich muss etwas verpassen, denn wenn der Test, der die VCR.use_cassette verwendet, nicht die Antwort in der Yml-Datei, die ich eingerichtet habe, rendern. Ich poste all meinen Code, der das Problem betrifft, und lass es mich wissen, wenn ich etwas falsch mache.VCR für Rails einrichten

/support/vcr.rb:

VCR.configure do |c| 
    c.configure_rspec_metadata! 
    c.cassette_library_dir = Rails.root.join("spec", "vcr") 
    c.hook_into :webmock 
    c.after_http_request do |request, _response| 
    VCR.http_requests_made << request 
    end 
end 

Anfrage spec:

require "rails_helper" 

describe "Mailchimp" do 
    describe "Manage list" do 
    let!(:subscriber) { FactoryGirl.create(:subscriber) } 

    it "adds new subscriber to list" do 
     expect do 
     VCR.use_cassettes("mailchimp/list") do 
      post new_subscriber_path 
     end.to change(:subscriber, :count).by(1) 
     end 
    end 
    end 
end 

YML Datei: /vcr/mailchimp/list.yml

NOTHING RENDERS. THIS IS WHERE I EXPECT THE RESPONSE FOR VCR BUT I"M GETTING NOTHING. 

Hoffentlich ist genug Info. lassen Sie mich wissen, wenn Sie mehr brauchen?

Antwort

1

Versuchen Zugabe

VCR.configure do |config| 
    config.allow_http_connections_when_no_cassette = true 
end 
0

Ich kann nicht Pin-Punkt, was der Fehler in Ihrem Fall gewesen sein könnte, aber hier sind meine Gedanken:

require "rails_helper" 

describe "Mailchimp" do 
    describe "Manage list" do 
    let!(:subscriber) { FactoryGirl.create(:subscriber) } 

    it "adds new subscriber to list" do 
     expect do 
     VCR.use_cassette("mailchimp/list") do 
      post new_subscriber_path 
     end 
     end.to change(:subscriber, :count).by(1) 
    end 
    end 
end 

vorgenommene Änderungen,

  1. bewegt, um den VCR Anruf in der Erwartung, Block
  2. geändert zu VCR.use_cassete

Lassen sie mich wissen, ob es funktioniert.

+0

Ich schätze die Hilfe, aber das scheint nicht die Arbeit zu tun ... auch wenn das einige offensichtliche Dinge ist, sollte ich bemerkt habe. Vielen Dank – Bitwise