2

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

使用带水豚的 rspec

  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'

宝石文件看起来像

`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!


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

尝试将您的规范文件移动到规范/请求目录

4

2 回答 2

4

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

尝试将您的规范文件移动到规范/请求目录

于 2012-08-30T05:20:28.027 回答
1

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

config.include Capybara::DSL

到 spec_helper.rb 文件

于 2014-03-23T14:19:11.553 回答