RSpec - 找不到spec / spec_helper.rb

时间:2013-12-14 19:17:19

标签: ruby-on-rails ruby rspec

我正在关注Michael Hartl的Ruby on Rails 4书,找不到spec/spec_helper.rb。这是他的书http://ruby.railstutorial.org/ruby-on-rails-tutorial-book的链接,我正在研究第3章测试驱动开发部分。

我运行此代码来调用RSpec和static_pages_spec.rb

$ rails generate integration_test static_pages      
invoke  rspec      
create    spec/requests/static_pages_spec.rb

在此之后,我需要将Capybara DSL添加到RSpec帮助文件中。

spec/spec_helper.rb

# This file is copied to spec/ when you run 'rails generate spec:install'
…
RSpec.configure do |config|  
.  .  .  
config.include Capybara::DSL
end

问题:我的问题是我无法找到或打开spec/spec_helper.rb。我试过了$subl spec/spec_helper.rb,但它只打开了一个空的文本编辑器文件。

为我的RSM和TDD的Gemfile添加了以下内容:

group :development, :test do  
gem 'sqlite3', '1.3.8'  
gem 'rspec-rails', '2.13.1'
end

group :test do  
gem 'selenium-webdriver', '2.35.1'  
gem 'capybara', '2.1.0'
end

Ran:

$ bundle install --without production
$ bundle update
$ bundle install
$ rails generate rspec:install
$ rails generate integration_test static_pages

在此之后,我想打开spec/sepc_helper.rb并添加CapybaraDSL并运行此$ bundle exec rspec spec/requests/static_pages_spec.rb。由于我找不到spec_helper.rb,我只是在终端上运行它以查看会发生什么并出现以下错误:

in `require': cannot load such file -- spec_helper (LoadError)

我不知道为什么我找不到spec_helper。我阅读了其他教程,看起来spec_helper文件在加载RSpec时会自动形成。

4 个答案:

答案 0 :(得分:5)

仔细检查您是否从根rails目录运行rspec spec/,而不是从spec目录中运行。

答案 1 :(得分:4)

检查Gemfile:

group :development, :test do
  gem 'rspec-rails', '~> 3.0.0.beta'
end

在控制台运行bundle install命令:

rails generate rspec:install

之后

在项目文件夹中尝试bash:

find -name spec_helper.rb

使用rails Rspec

对{{1}}使用情况进行了完整的引用

答案 2 :(得分:1)

确保安装了rspec gem。您可以通过在Gemfile中声明它来完成此操作

https://github.com/rspec/rspec-rails

在Gemfile中

group :development, :test do
  gem 'rspec-rails', '~> 3.0.0.beta'
end

bundle install

bundle exec rails generate rspec:install

这些步骤将创建运行rspec所需的内容。

答案 3 :(得分:1)

值得一提的是偶尔我尝试在根目录以外的文件夹中运行rspec,这是弹出的错误。我似乎记得这可以以某种方式修改,但不知道如何。