我目前正试图让VCR正确运行我的应用。现在一切似乎都配置正确,但我必须遗漏一些东西,因为当使用VCR.use_cassette
的测试没有呈现我已设置的yml文件中的响应时。我将发布与该问题相关的所有代码,如果我做错了,请告诉我。
/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
请求规范:
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文件:/vcr/mailchimp/list.yml
NOTHING RENDERS. THIS IS WHERE I EXPECT THE RESPONSE FOR VCR BUT I"M GETTING NOTHING.
希望这是足够的信息。如果您需要更多,请告诉我?
答案 0 :(得分:1)
尝试添加
VCR.configure do |config|
config.allow_http_connections_when_no_cassette = true
end
答案 1 :(得分:0)
我无法确定您的情况可能出现的错误,但我的想法是:
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
所做的更改,
VCR.use_cassete
让我知道它是否有效。