为 Rails 设置 VCR
Setting up VCR for Rails
我目前正在尝试为我的应用程序将 VCR 正确设置为 运行。现在一切似乎都配置正确,但我一定遗漏了一些东西,因为当使用 VCR.use_cassette
的测试没有在我设置的 yml 文件中呈现响应时。我将 post 我所有与该问题相关的代码,如果我做错了什么,请告诉我。
/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.
希望这些信息足够了。如果您需要更多,请告诉我?
我无法确定您的情况可能是什么错误,但这是我的想法:
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 调用移至期望块
- 改为
VCR.use_cassete
如果有效请告诉我。
尝试添加
VCR.configure do |config|
config.allow_http_connections_when_no_cassette = true
end
我目前正在尝试为我的应用程序将 VCR 正确设置为 运行。现在一切似乎都配置正确,但我一定遗漏了一些东西,因为当使用 VCR.use_cassette
的测试没有在我设置的 yml 文件中呈现响应时。我将 post 我所有与该问题相关的代码,如果我做错了什么,请告诉我。
/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.
希望这些信息足够了。如果您需要更多,请告诉我?
我无法确定您的情况可能是什么错误,但这是我的想法:
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 调用移至期望块
- 改为
VCR.use_cassete
如果有效请告诉我。
尝试添加
VCR.configure do |config|
config.allow_http_connections_when_no_cassette = true
end