我跟随NetTuts介绍Rails截屏,以便更好地处理rspec / capybara / guard等。在发生一些错误后,我无法通过这个:
/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.1 Rails - 4.0.5 rspec - 3.0.1 capybara - 2.3.0
即使建议将spec_helper.rb文件更改为要求&#f; rspec / core&#39;并将gem更改为rspec-core我仍然有这个错误。
spec_helper中的顺序是否重要或我是否需要在Rspec.configure块中执行一些进一步的工作?
答案 0 :(得分:1)
您的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将开箱即用#34;开箱即用&#34;没有对配置文件进行任何更改。尝试删除 spec / spec_helper.rb 文件并使用RSpec生成器进行设置。
作为NetTuts教程的替代方案,您可能希望查看RSpec Tutorial我写的最新RSpec 3.0。