繁体   English   中英

RSpec - 找不到spec / spec_helper.rb

[英]RSpec - Can't find spec/spec_helper.rb

我正在关注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但它只打开了一个空的文本编辑器文件。

为RSpec和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

冉:

$ 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时会自动形成。

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

检查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

Rspec使用Rspec有一个完整的参考: https//github.com/rspec/rspec-rails

确保安装了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所需的内容。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM