【问题标题】:Cucumber features failing "undefined method `Factory'" with bundler, rails 2.3.5Cucumber 功能在 bundler、rails 2.3.5 中失败了“未定义的方法‘Factory’”
【发布时间】:2010-07-10 16:31:40
【问题描述】:

耙黄瓜 --trace

输出:

/usr/bin/ruby1.8 -I "/home/vadim/.bundle/ruby/1.8/gems/cucumber-0.8.3/lib:lib" "/home/vadim/.bundle/ruby/1.8/gems/cucumber-0.8.3/bin/cucumber"  --profile default
Using the default profile...
...
Given I signed up with "username/email@person.com/password" # features/step_definitions/clearance_steps.rb:13
      undefined method `Factory' for #<Cucumber::Rails::World:0x..fdb6a5bc0> (NoMethodError)
      ./features/step_definitions/clearance_steps.rb:14:in `/^I signed up with "(.*)\/(.*)\/(.*)"$/'
      features/sign_in.feature:14:in `Given I signed up with "username/email@person.com/password"
...
13 scenarios (13 failed)
83 steps (13 failed, 70 skipped)
0m0.769s
rake aborted!
Command failed with status (1): [/usr/bin/ruby1.8 -I "/home/vadim/.bundle/r...]
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:995
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in `call'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1010:in `sh'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in `sh'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1029:in `ruby'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1094:in `ruby'
/home/vadim/.bundle/ruby/1.8/gems/cucumber-0.8.3/lib/cucumber/rake/task.rb:68:in `run'
/home/vadim/.bundle/ruby/1.8/gems/cucumber-0.8.3/lib/cucumber/rake/task.rb:138
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `call'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:636:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:631:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:597:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:607:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:604:in `invoke_prerequisites'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:596:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:590:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:583:in `invoke'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2051:in `invoke_task'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2029:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2023:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2001:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:2068:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake.rb:1998:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.8.7/bin/rake:31
/usr/bin/rake:19:in `load'
/usr/bin/rake:19

系统:在 Ubuntu 9.04 上运行的 Rails 2.3.5

捆绑器 (0.9.26) RubyGems 1.3.7 ruby 1.8.7 (2010-01-10 补丁级别 249) [i486-linux]

宝石文件

source :rubygems
gem "rails", "2.3.5"
gem "mysql"
gem "clearance"
gem "formtastic"
gem "haml"
gem "geokit"

group :development do
  gem "mongrel"
end

group :test do
  gem "factory_girl"
  gem 'rspec', '>=1.3.0'
  gem 'rspec-rails', '>=1.3.2'
end

group :cucumber do
  gem "factory_girl"
  gem 'cucumber-rails', '>=0.3.0'
  gem 'database_cleaner', '>=0.5.0'
  gem 'webrat', '>=0.7.0'
  gem 'rspec', '>=1.3.0'
  gem 'rspec-rails', '>=1.3.2'
end

捆绑安装输出

Using rake (0.8.7) from bundler gems 
Using activesupport (2.3.5) from bundler gems 
Using rack (1.0.1) from bundler gems 
Using actionpack (2.3.5) from bundler gems 
Using actionmailer (2.3.5) from bundler gems 
Using activerecord (2.3.5) from bundler gems 
Using activeresource (2.3.5) from bundler gems 
Using builder (2.1.2) from bundler gems 
Using cgi_multipart_eof_fix (2.5.0) from bundler gems 
Using clearance (0.8.8) from bundler gems 
Using diff-lcs (1.1.2) from bundler gems 
Using trollop (1.16.2) from bundler gems 
Using gherkin (2.0.2) from bundler gems 
Using json_pure (1.4.3) from bundler gems 
Using term-ansicolor (1.0.5) from bundler gems 
Using cucumber (0.8.3) from bundler gems 
Using cucumber-rails (0.3.2) from bundler gems 
Using daemons (1.1.0) from bundler gems 
Using database_cleaner (0.5.2) from bundler gems 
Using factory_girl (1.3.1) from bundler gems 
Using fastthread (1.0.7) from bundler gems 
Using formtastic (0.9.10) from bundler gems 
Using gem_plugin (0.2.3) from bundler gems 
Using geokit (1.5.0) from bundler gems 
Using haml (3.0.13) from bundler gems 
Using mongrel (1.1.5) from bundler gems 
Using mysql (2.8.1) from bundler gems 
Using nokogiri (1.4.2) from bundler gems 
Using rack-test (0.5.4) from bundler gems 
Using rails (2.3.5) from bundler gems 
Using rspec (1.3.0) from bundler gems 
Using rspec-rails (1.3.2) from bundler gems 
Using webrat (0.7.1) from bundler gems 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

有什么想法吗?

谢谢!

【问题讨论】:

  • 可怜的黄瓜好像有麻烦了

标签: ruby-on-rails cucumber factory-bot bundler


【解决方案1】:

这是捆绑程序失败的问题,因为我在多个组中声明了 factory_girl。 http://github.com/carlhuda/bundler/issues/issue/135 在此修复被合并到一个版本之前,要么从 github 拉下 bundler gem,要么不要将 Gemfile 中的 gem 放入多个组中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多