8

c:/mowes/www/rails_projects/sample_app/spec/spec_helper.rb:4:in `block in ': 未初始化的常量 Capybara (NameError)

规范/spec_helper.rb

# This file is copied to spec/ when you run 'rails generate rspec:install'

RSpec.configure do |config|
  config.include Capybara::DSL
end

gem 'capybara', '2.1.0'在我的 Gemfile 中,所以我不知道发生了什么。

4

6 回答 6

19

您必须添加 config.include Capybara::DSLrails_helper.rb,而不是添加到spec_helper.rb. 它非常适合我!

于 2014-08-10T20:04:05.190 回答
5

我认为这可行。尝试添加这些行spec_helper.rb

RSpec.configure do |config|
 config.fixture_path = "#{::Rails.root}/spec/fixtures"
 config.use_transactional_fixtures = true
 config.infer_base_class_for_anonymous_controllers = false
 config.order = "random" 
 config.include Capybara::DSL
end
于 2013-10-18T12:31:45.473 回答
4

您是否已经运行捆绑安装?有没有加

require 'capybara/rails' 

在 rails_helper.rb

如果您使用 Capybara,您可能需要按照此处的说明进行操作。

于 2013-10-17T20:56:44.380 回答
2

如果您在规范中看到此错误,尽管在 中导入 Capybara spec_helper.rb,将.rspec行添加--require spec_helper到根目录应该可以解决问题:

在此处输入图像描述

于 2016-12-11T22:53:38.010 回答
1

我被添加了 config.include Capybara::DSL to rails_helper.rb,而不是进入spec_helper.rb。它真的很有帮助。

于 2014-12-11T15:59:04.933 回答
1

我也反驳了这个问题。我正在学习MOOC,测试文件是从另一个地方复制的。因为 .repec 是隐藏文件,所以当我复制时,这个文件没有被复制。我使用Command + shift +。显示文件并将其复制到项目根目录,问题就解决了。

于 2018-05-16T02:09:55.487 回答