我已经安装了vcr和webmock gems。
特性/支持/vcr_setup.rb:
require 'vcr'
VCR.configure do |c|
c.cassette_library_dir = 'vcr_cassettes'
c.hook_into :webmock
end
功能/step_definitions/user.rb:
VCR.use_cassette('login to shopify') do
Given /^I am a logged in user$/ do
@shop = create(:shop)
visit root_path
fill_in :shop, :with => @shop.shopify_domain
click_button 'Install'
expect(page).to have_content("We'll automatically")
end
end
当我运行我的套件,我得到警报,我正在做一个HTTP请求。为了正确录制第一盒磁带以便在以后的测试中重复使用,我遗漏了哪一步?
尝试指定cassette_library_dir
配置的绝对路径。这样的:
c.cassette_library_dir = Rails.root.join('test', 'fixtures', 'vcr_cassettes')
(无论vcr_cassettes
在应用程序中的正确路径是什么)
所以,你的features/support/vcr_setup.rb
变成这样:
VCR.configure do |c|
c.cassette_library_dir = Rails.root.join('test', 'fixtures', 'vcr_cassettes')
c.hook_into :webmock
end