使用rspec和capybara的错误

时间:2014-06-14 12:38:37

标签: ruby-on-rails rspec capybara

我跟随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块中执行一些进一步的工作?

GIT - https://github.com/JonleePeakman/guardtest

1 个答案:

答案 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。