テストのために、Factory_girl を Rails アプリに入れようとしています。
Gemfile の一部を次に示します。
gem 'rspec-rails', :group => [:development, :test]
group :development do
gem 'annotate'
gem 'faker', '0.3.1', :require => false
gem 'populator', '1.0.0'
gem 'ruby-debug19'
end
group :test do
gem "capybara"
gem 'factory_girl_rails', '~> 3.5.0'
gem 'guard-rspec'
gem 'guard-spork'
gem 'spork'
gem 'rb-inotify'
gem 'libnotify'
end
group :development, :test do
gem 'sqlite3-ruby', :require=>'sqlite3'
end
次に、コンソールで Factory_Girl のインストールをテストします。たとえばrails c
、メソッドを呼び出すには:find_definitions
Loading development environment (Rails 3.0.5)
irb(main):002:0> FactoryGirl.find_definitions
NameError: uninitialized constant FactoryGirl
from (irb):2
from /var/lib/gems/1.9.1/gems/railties-3.0.5/lib/rails/commands/console.rb:44:in `start'
from /var/lib/gems/1.9.1/gems/railties-3.0.5/lib/rails/commands/console.rb:8:in `start'
from /var/lib/gems/1.9.1/gems/railties-3.0.5/lib/rails/commands.rb:23:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
だから私は宝石を必要とする必要があると仮定します:私はそうします:
irb(main):003:0> require 'factory_girl_rails'
SystemStackError: stack level too deep
from /usr/lib/ruby/1.9.1/irb/workspace.rb:80
Maybe IRB bug!!
この奇妙なエラーが発生しました。
私は何を間違っていますか?
情報については、Rails 3.0.5 と ruby 1.9.2 を使用しています。
宝石の設定は次のとおりです。
RubyGems Environment:
- RUBYGEMS VERSION: 1.3.7
- RUBY VERSION: 1.9.2 (2011-07-09 patchlevel 290) [i686-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby1.9.1
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /var/lib/gems/1.9.1
- /home/izambard/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES: