未定义的方法`visit'for#

时间:2012-08-30 04:59:20

标签: ruby-on-rails ruby

我确信这在stackoverflow的某个地方得到了回答但是对于我的生活,我无法找到为什么我的情况与已经写好的情况不同所以这里就是这样。

使用rspec w / capybara

  1) report_cards#index must have 'Report Cards Index'
 Failure/Error: visit '/'
 NoMethodError:
   undefined method `visit' for #<RSpec::Core::ExampleGroup::Nested_4:0x007fcc3aa33960>
 # ./spec/views/report_cards_view_spec.rb:7:in `block (2 levels) in <top (required)>'

/spec/views/report_cards_view_spec.rb看起来像

require 'spec_helper'
describe "report_cards#index" do
  it "must have 'Report Cards Index'" do
  visit '/'
  page.should have_content("something")
  end
end

spec_helper.rb的第一行看起来像

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'
require 'capybara/rails'
require 'capybara/rspec'

gemfile看起来像

`source 'https://rubygems.org'`
gem 'rails', '3.2.7'
gem 'jquery-rails'
gem 'pg', '~> 0.14.0'
gem 'devise', '~> 2.1.2'
gem "quiet_assets", "~> 1.0.1"
gem 'thin'
gem 'bourbon'
gem "haml-rails"
gem "httparty", "~> 0.8.3"
gem "activerecord-import", "~> 0.2.10"

group :test, :development do
  gem "rspec-rails", "~> 2.0"
  gem 'capybara', '~>1.1.2'
  gem "fabrication", "~> 2.2.0"
  gem "launchy", "~> 2.1.2"
end

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'uglifier', '>= 1.0.3'
end`

我很年轻,所以很容易:) - THX!

2 个答案:

答案 0 :(得分:4)

capybara不包含在视图规范中,它用于集成测试。

尝试将您的spec文件移动到spec / requests目录

答案 1 :(得分:1)

我有类似的问题,我所要做的就是添加

config.include Capybara::DSL

到spec_helper.rb文件