【问题标题】:"undefined method visit" error with capybara, rspec水豚,rspec的“未定义的方法访问”错误
【发布时间】:2018-07-03 07:47:02
【问题描述】:

我正在尝试将capybararspec 一起使用。

宝石文件

group :test do
  gem 'capybara'
end

根据文档,我需要将 require 'capybara/rspec' 添加到 rails_helper.rb,我这样做了:

require 'spec_helper'
ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)

abort("The Rails environment is running in production mode!") if Rails.env.production?

require 'rspec/rails'
require 'capybara/rspec'

ActiveRecord::Migration.maintain_test_schema!

RSpec.configure do |config|
  config.fixture_path = "#{::Rails.root}/spec/fixtures"
  config.use_transactional_fixtures = true
  config.infer_spec_type_from_file_location!    
  config.filter_rails_from_backtrace!
end

现在当我运行bundle exec rspec。我明白了:

Failure/Error: visit('/')

     NoMethodError:
       undefined method `visit' for #<RSpec::ExampleGroups::HomeFooters:0x000000035cc4b8>

测试如下:

require 'rails_helper'

RSpec.describe "HomeFooters", type: :request do
  it "show proper links in footer" do 
    visit('/')
    page.should have_content("Jobs")
  end
end

我该如何解决这个错误?

感谢您的帮助!谢谢!

【问题讨论】:

    标签: ruby-on-rails rspec capybara


    【解决方案1】:

    capybara 不应该与type: :request 一起使用,它是type: :feature

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多