2016-02-29 50 views
2

我無法加載gem factory_girl_rails以正確運行我的測試。 我檢查了每個地方,但我無法解決它。 這是我的錯誤,當我運行spec嘗試加載gem'factory_girl_rails'時發生錯誤。 (Bundler :: GemRequireError)

/Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:80:in `rescue in block (2 levels) in require': There was an error while trying to load the gem 'factory_girl_rails'. (Bundler::GemRequireError) 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:76:in `block (2 levels) in require' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `each' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:72:in `block in require' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `each' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler/runtime.rb:61:in `require' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/bundler-1.11.2/lib/bundler.rb:99:in `require' 
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/config/application.rb:7:in `<top (required)>' 
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/config/environment.rb:2:in `require' 
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/config/environment.rb:2:in `<top (required)>' 
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/spec/spec_helper.rb:2:in `require' 
    from /Users/qcherifi/Documents/perso/wan/wannatalk.io/spec/spec_helper.rb:2:in `<top (required)>' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `require' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `block in requires=' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `each' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration.rb:1295:in `requires=' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:109:in `block in process_options_into' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:108:in `each' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:108:in `process_options_into' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/configuration_options.rb:21:in `configure' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:105:in `setup' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:92:in `run' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:78:in `run' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/lib/rspec/core/runner.rb:45:in `invoke' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.3/exe/rspec:4:in `<top (required)>' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `load' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `<main>' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval' 
    from /Users/qcherifi/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>' 

捆綁安裝就可以了,這裏是我的寶石/ Gemfile中

group :development, :test do 
    gem 'sqlite3' 

    gem 'pry-byebug' 
    gem 'binding_of_caller' 
    gem 'better_errors' 

    gem 'web-console', '~> 2.0' 

    gem 'spring' 
    gem 'capybara' 
    gem 'rspec-rails', '~> 3.0' 
    gem 'factory_girl_rails' 
    gem 'database_cleaner' 
end 

/spec/models/participant_spec.rb

require 'spec_helper' 

RSpec.describe Participant, type: :model do 
    it "has a valid factory" 
    Factory.create(:participant).should be_valid 
    it "is invalid without a name" 
    it "returns a participant's full name as a string" 
end 

/spec/factories/participants.rb 要求'faker'

FactoryGirl.define do 
    factory :participant do |f| 
    f.name {Faker::Name.name} 
    f.email {Faker::Internet.email} 
    f.password {Faker::Internet.password(8)} 
    end 
end 
+0

您需要首先你的平臺上安裝的NodeJS。 –

+0

@BilalMaqsood感謝您的反應。我安裝節點js,再次捆綁並運行spec,但它仍然沒有運行 – Orsay

+0

試試這個,而不是在你的gem文件中使用'gem'factory_girl_rails''使用'gem'factory_girl'' –

回答

2

我以前出現過此問題,並有此錯誤的三種可能原因:

  1. 你有你的Gemfile複製。
  2. 您尚未安裝節點JS
  3. 您有重複factory_girl.rb
相關問題