为了更好地处理rspec/capybara/guard等内容,我正在按照NetTuts对Rails的介绍截屏视频,在经历了几个错误之后,我无法通过这个错误:
/home/jonlee/.rvm/gems/ruby-2.1.1@railstutorial_rails_4_0/gems/capybara-2.3.0/lib/capybara/rails.rb:15:in `<top (required)>': undefined method `join' for nil:NilClass (NoMethodError)
from /home/jonlee/Projects/rails/guardtest/spec/spec_helper.rb:3:in `require'
from /home/jonlee/Projects/rails/guardtest/spec/spec_helper.rb:3:in `<top (required)>'
我的spec_helper如下:
require 'rails'
require 'rspec/core'
require 'capybara/rails'
RSpec.configure do |config|
config.include Capybara::DSL
end
我的gemfile有:
group :test, :development do
gem 'rspec-core'
gem 'capybara'
gem 'guard-rspec'
end
我正在使用: Ruby -2.1.1rails-4.0.5RSpec- 3.0.1水豚- 2.3.0
即使在建议将spec_helper.rb文件更改为需要'rspec/core‘并将gem更改为rspec-core之后,我仍然有此错误。
spec_helper中的顺序重要吗?或者我是否需要在Rspec.configure块中执行一些进一步的工作?
发布于 2014-06-14 17:58:19
您的gemfile包含gem 'rspec-core'
。应该是gem 'rspec-rails'
。
您使用的是RSpec 3.0.1,与以前的版本相比,在配置上有很大的变化。注意不要阅读过时的教程或博客文章。您是否使用过RSpec生成器来设置RSpec?
$ rails generate rspec:install
你应该有文件:
.rspec
spec/spec_helper.rb
spec/rails_helper.rb
Capybara将“开箱即用”,无需对配置文件进行任何更改。尝试删除spec/spec_helper.rb文件,并使用RSpec生成器进行设置。
作为NetTuts教程的替代教程,您可能想看看我编写的RSpec 3.0最新的RSpec Tutorial。
https://stackoverflow.com/questions/24219997
复制相似问题