我正在关注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时会自动形成。
答案 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
答案 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,这是弹出的错误。我似乎记得这可以以某种方式修改,但不知道如何。