与黄瓜和水豚一起设置录像机



我已经安装了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

最新更新