2015-04-27 2 views
0

После установки Capybara, я получаю ошибку:Капибара ошибки: не определен метод `присоединиться для ноля: NilClass

NoMethodError: undefined method `join' for nil:NilClass 

всякий раз, когда я пытаюсь запустить RSpec.

Я пытался добавить и удалить различные требования, но ничего не работает. Кто-нибудь знает, что происходит?


spec_helper.rb

RSpec.configure do |config| 

    config.expect_with :rspec do |expectations| 
    expectations.include_chain_clauses_in_custom_matcher_descriptions = true 
    end 


    config.mock_with :rspec do |mocks| 
    mocks.verify_partial_doubles = true 
    end 


    config.filter_run :focus 
    config.run_all_when_everything_filtered = true 

    config.disable_monkey_patching! 
    config.warnings = true 
    if config.files_to_run.one? 
    config.default_formatter = 'doc' 
    end 

    config.profile_examples = 10 

    config.order = :random 
    Kernel.srand config.seed 

    config.include FactoryGirl::Syntax::Methods 

    #FactoryGirl.definition_file_paths = [File.expand_path('../factories', __FILE__)] 
    config.warnings = false 

    config.infer_spec_type_from_file_location! 
    config.include SpecTestHelper, :type => :controller 


    config.include Capybara::DSL 


end 

Capybara.default_driver = :selenium 

rails_helper.rb

ENV['RAILS_ENV'] ||= 'test' 
require 'spec_helper' 
require File.expand_path('../../config/environment', __FILE__) 
require 'rspec/rails' 


RSpec.configure do |config| 
    config.fixture_path = "#{::Rails.root}/spec/fixtures" 
    config.use_transactional_fixtures = true 
    config.infer_spec_type_from_file_location! 
end 

И все мои спецификации файлов я включаю:

require 'spec_helper' 

Пожалуйста, помогите!


Update:

Вот трассировка:

NoMethodError: undefined method `join' for nil:NilClass 
       (root) at /Users/ssuhli200/.rvm/gems/jru[email protected]/gems/capybara-2.4.4/lib/capybara/rails.rb:15 
       require at org/jruby/RubyKernel.java:1071 
       require at /Users/ssuhli200/.rvm/gems/[email protected]/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251 
     load_dependency at /Users/ssuhli200/.rvm/gems/[email protected]/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236 
       require at /Users/ssuhli200/.rvm/gems/[email protected]/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251 
       (root) at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-rails-3.2.1/lib/rspec/rails/vendor/capybara.rb:1 
       require at org/jruby/RubyKernel.java:1071 
       require at /Users/ssuhli200/.rvm/gems/[email protected]/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251 
     load_dependency at /Users/ssuhli200/.rvm/gems/[email protected]/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:236 
       require at /Users/ssuhli200/.rvm/gems/[email protected]/gems/activesupport-3.2.21/lib/active_support/dependencies.rb:251 
       (root) at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-rails-3.2.1/lib/rspec/rails/vendor/capybara.rb:7 
       require at org/jruby/RubyKernel.java:1071 
       (root) at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-rails-3.2.1/lib/rspec/rails.rb:1 
       require at org/jruby/RubyKernel.java:1071 
       (root) at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-rails-3.2.1/lib/rspec/rails.rb:13 
        each at org/jruby/RubyArray.java:1613 
       (root) at /Users/ssuhli200/Downloads/cimport/spec/spec_helper.rb:1 
       (root) at /Users/ssuhli200/Downloads/cimport/spec/spec_helper.rb:5 
        each at org/jruby/RubyArray.java:1613 
       (root) at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1 
      requires= at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181 
      requires= at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration.rb:1181 
    process_options_into at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:110 
    process_options_into at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:109 
      configure at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/configuration_options.rb:22 
       setup at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:96 
        load at org/jruby/RubyKernel.java:1087 
        run at /Users/ssuhli200/.rvm/gems/[email protected]/gems/rspec-core-3.2.3/lib/rspec/core/runner.rb:85 
        eval at org/jruby/RubyKernel.java:1107 
       (root) at /Users/ssuhli200/.rvm/gems/[email protected]/bin/jruby_executable_hooks:15 
+0

Пожалуйста, отправьте полный ответ. Возможно, вам понадобится запустить 'rspec --backtrace', чтобы увидеть его. –

+0

хорошо, я обновил вопрос –

ответ

1

Вы должны требовать rails_helper не spec_helper. Проблема в том, что Capybara вызывает Rails.root.join до того, как ваше приложение Rails загорелось (об этом позаботится ваш помощник Rails).

+0

У меня все еще была такая же ошибка, но я попытался поставить «require» rails_helper »в верхней части моих требований spec_helper, и это сработало! Спасибо за помощь! –

+0

Без проблем, рад, что я мог бы помочь. Не забудьте принять ответ с помощью кнопки выбора слева. – tpbowden