RSpec - 找不到spec/spec_helper.rb文件。

3
我正在跟随 Michael Hartl 的《Ruby on Rails 4》书籍,但找不到 spec/spec_helper.rb 文件。这是他的书籍链接 http://ruby.railstutorial.org/ruby-on-rails-tutorial-book,我正在进行第三章的测试驱动开发部分。
我运行了这段代码来调用 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,但它只打开了一个空的文本编辑器文件。
在我的Gemfile中添加了以下内容,用于RSpec和TDD:
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/spec_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文件。我阅读了其他教程,似乎当他们加载RSpec时,spec_helper文件会自动生成。

4个回答

5

请确保您从根Rails目录而非spec目录中运行rspec spec/


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的参考资料:https://github.com/rspec/rspec-rails


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所需的内容。


1

值得一提的是,偶尔我尝试在根目录以外的文件夹中运行rspec,这时就会出现这个错误。我记得这可以通过某种方式进行修改,但我不确定具体方法。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接