无法将 Factory Girl 与 Cucumber 和 Rails 3 一起使用(捆绑程序问题)
我正在尝试在新的 Rails 3 应用程序上使用工厂女孩工厂运行黄瓜功能。
这是我的 Gemfile:
source "http://gemcutter.org"
gem "rails", "3.0.0.beta"
gem "pg"
gem "factory_girl", :git => "git://github.com/thoughtbot/factory_girl.git", :branch => "rails3"
gem "rspec-rails", ">= 2.0.0.beta.4"
gem "capybara"
gem "database_cleaner"
gem "cucumber-rails", :require => false
然后捆绑安装命令运行顺利:
$ bundle install
/usr/lib/ruby/gems/1.8/gems/bundler-0.9.3/lib/bundler/installer.rb:81:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
Updating git://github.com/thoughtbot/factory_girl.git
Fetching source index from http://gemcutter.org
Resolving dependencies
Installing abstract (1.0.0) from system gems
Installing actionmailer (3.0.0.beta) from system gems
Installing actionpack (3.0.0.beta) from system gems
Installing activemodel (3.0.0.beta) from system gems
Installing activerecord (3.0.0.beta) from system gems
Installing activeresource (3.0.0.beta) from system gems
Installing activesupport (3.0.0.beta) from system gems
Installing arel (0.2.1) from system gems
Installing builder (2.1.2) from system gems
Installing bundler (0.9.13) from system gems
Installing capybara (0.3.6) from system gems
Installing cucumber (0.6.3) from system gems
Installing cucumber-rails (0.3.0) from system gems
Installing culerity (0.2.9) from system gems
Installing database_cleaner (0.5.0) from system gems
Installing diff-lcs (1.1.2) from system gems
Installing erubis (2.6.5) from system gems
Installing factory_girl (1.2.3) from git://github.com/thoughtbot/factory_girl.git (at rails3)
Installing ffi (0.6.3) from system gems
Installing i18n (0.3.6) from system gems
Installing json_pure (1.2.3) from system gems
Installing mail (2.1.3) from system gems
Installing memcache-client (1.7.8) from system gems
Installing mime-types (1.16) from system gems
Installing nokogiri (1.4.1) from system gems
Installing pg (0.9.0) from system gems
Installing polyglot (0.3.0) from system gems
Installing rack (1.1.0) from system gems
Installing rack-mount (0.4.7) from system gems
Installing rack-test (0.5.3) from system gems
Installing rails (3.0.0.beta) from system gems
Installing railties (3.0.0.beta) from system gems
Installing rake (0.8.7) from system gems
Installing rspec (2.0.0.beta.4) from system gems
Installing rspec-core (2.0.0.beta.4) from system gems
Installing rspec-expectations (2.0.0.beta.4) from system gems
Installing rspec-mocks (2.0.0.beta.4) from system gems
Installing rspec-rails (2.0.0.beta.4) from system gems
Installing selenium-webdriver (0.0.17) from system gems
Installing term-ansicolor (1.0.5) from system gems
Installing text-format (1.0.0) from system gems
Installing text-hyphen (1.0.0) from system gems
Installing thor (0.13.4) from system gems
Installing treetop (1.4.4) from system gems
Installing tzinfo (0.3.17) from system gems
Installing webrat (0.7.0) from system gems
Your bundle is complete!
当我运行 cucumber 时,这是我得到的错误:
$ rake cucumber
(in /home/jbpros/projects/deorbitburn)
/usr/lib/ruby/gems/1.8/gems/bundler-0.9.3/lib/bundler/resolver.rb:97:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
NOTICE: CREATE TABLE will create implicit sequence "posts_id_seq" for serial column "posts.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "posts_pkey" for table "posts"
/usr/bin/ruby1.8 -I "/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/lib:lib" "/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/cucumber" --profile default
Using the default profile...
git://github.com/thoughtbot/factory_girl.git (at rails3) is not checked out. Please run `bundle install` (Bundler::PathError)
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/source.rb:282:in `load_spec_files'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/source.rb:190:in `local_specs'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:36:in `runtime_gems'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:35:in `each'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:35:in `runtime_gems'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/index.rb:5:in `build'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:34:in `runtime_gems'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:14:in `index'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/index.rb:5:in `build'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:13:in `index'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:55:in `resolve_locally'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:28:in `specs'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:65:in `specs_for'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:23:in `requested_specs'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/runtime.rb:18:in `setup'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler.rb:68:in `setup'
/home/jbpros/projects/deorbitburn/config/boot.rb:7
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/home/jbpros/projects/deorbitburn/config/application.rb:1
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/home/jbpros/projects/deorbitburn/config/environment.rb:2
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/home/jbpros/projects/deorbitburn/features/support/env.rb:8
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/rb_support/rb_language.rb:124:in `load_code_file'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:85:in `load_code_file'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:77:in `load_code_files'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:76:in `each'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:76:in `load_code_files'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/cli/main.rb:48:in `execute!'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/cli/main.rb:20:in `execute'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/cucumber:8
rake aborted!
Command failed with status (1): [/usr/bin/ruby1.8 -I "/usr/lib/ruby/gems/1....]
(See full trace by running task with --trace)
我是否必须为捆绑程序做一些特殊的事情才能在 github 上查看工厂女孩的存储库?
I'm trying to run cucumber features with factory girl factories on a fresh Rails 3 application.
Here is my Gemfile:
source "http://gemcutter.org"
gem "rails", "3.0.0.beta"
gem "pg"
gem "factory_girl", :git => "git://github.com/thoughtbot/factory_girl.git", :branch => "rails3"
gem "rspec-rails", ">= 2.0.0.beta.4"
gem "capybara"
gem "database_cleaner"
gem "cucumber-rails", :require => false
Then the bundle install commande just runs smoothly:
$ bundle install
/usr/lib/ruby/gems/1.8/gems/bundler-0.9.3/lib/bundler/installer.rb:81:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
Updating git://github.com/thoughtbot/factory_girl.git
Fetching source index from http://gemcutter.org
Resolving dependencies
Installing abstract (1.0.0) from system gems
Installing actionmailer (3.0.0.beta) from system gems
Installing actionpack (3.0.0.beta) from system gems
Installing activemodel (3.0.0.beta) from system gems
Installing activerecord (3.0.0.beta) from system gems
Installing activeresource (3.0.0.beta) from system gems
Installing activesupport (3.0.0.beta) from system gems
Installing arel (0.2.1) from system gems
Installing builder (2.1.2) from system gems
Installing bundler (0.9.13) from system gems
Installing capybara (0.3.6) from system gems
Installing cucumber (0.6.3) from system gems
Installing cucumber-rails (0.3.0) from system gems
Installing culerity (0.2.9) from system gems
Installing database_cleaner (0.5.0) from system gems
Installing diff-lcs (1.1.2) from system gems
Installing erubis (2.6.5) from system gems
Installing factory_girl (1.2.3) from git://github.com/thoughtbot/factory_girl.git (at rails3)
Installing ffi (0.6.3) from system gems
Installing i18n (0.3.6) from system gems
Installing json_pure (1.2.3) from system gems
Installing mail (2.1.3) from system gems
Installing memcache-client (1.7.8) from system gems
Installing mime-types (1.16) from system gems
Installing nokogiri (1.4.1) from system gems
Installing pg (0.9.0) from system gems
Installing polyglot (0.3.0) from system gems
Installing rack (1.1.0) from system gems
Installing rack-mount (0.4.7) from system gems
Installing rack-test (0.5.3) from system gems
Installing rails (3.0.0.beta) from system gems
Installing railties (3.0.0.beta) from system gems
Installing rake (0.8.7) from system gems
Installing rspec (2.0.0.beta.4) from system gems
Installing rspec-core (2.0.0.beta.4) from system gems
Installing rspec-expectations (2.0.0.beta.4) from system gems
Installing rspec-mocks (2.0.0.beta.4) from system gems
Installing rspec-rails (2.0.0.beta.4) from system gems
Installing selenium-webdriver (0.0.17) from system gems
Installing term-ansicolor (1.0.5) from system gems
Installing text-format (1.0.0) from system gems
Installing text-hyphen (1.0.0) from system gems
Installing thor (0.13.4) from system gems
Installing treetop (1.4.4) from system gems
Installing tzinfo (0.3.17) from system gems
Installing webrat (0.7.0) from system gems
Your bundle is complete!
When I run cucumber, here is the error I get:
$ rake cucumber
(in /home/jbpros/projects/deorbitburn)
/usr/lib/ruby/gems/1.8/gems/bundler-0.9.3/lib/bundler/resolver.rb:97:Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
NOTICE: CREATE TABLE will create implicit sequence "posts_id_seq" for serial column "posts.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "posts_pkey" for table "posts"
/usr/bin/ruby1.8 -I "/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/lib:lib" "/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/cucumber" --profile default
Using the default profile...
git://github.com/thoughtbot/factory_girl.git (at rails3) is not checked out. Please run `bundle install` (Bundler::PathError)
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/source.rb:282:in `load_spec_files'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/source.rb:190:in `local_specs'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:36:in `runtime_gems'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:35:in `each'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:35:in `runtime_gems'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/index.rb:5:in `build'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:34:in `runtime_gems'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:14:in `index'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/index.rb:5:in `build'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:13:in `index'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:55:in `resolve_locally'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:28:in `specs'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:65:in `specs_for'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/environment.rb:23:in `requested_specs'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler/runtime.rb:18:in `setup'
/home/jbpros/.bundle/gems/bundler-0.9.13/lib/bundler.rb:68:in `setup'
/home/jbpros/projects/deorbitburn/config/boot.rb:7
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/home/jbpros/projects/deorbitburn/config/application.rb:1
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/home/jbpros/projects/deorbitburn/config/environment.rb:2
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/home/jbpros/projects/deorbitburn/features/support/env.rb:8
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
/usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `polyglot_original_require'
/usr/lib/ruby/gems/1.8/gems/polyglot-0.3.0/lib/polyglot.rb:65:in `require'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/rb_support/rb_language.rb:124:in `load_code_file'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:85:in `load_code_file'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:77:in `load_code_files'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:76:in `each'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/step_mother.rb:76:in `load_code_files'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/cli/main.rb:48:in `execute!'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/../lib/cucumber/cli/main.rb:20:in `execute'
/usr/lib/ruby/gems/1.8/gems/cucumber-0.6.3/bin/cucumber:8
rake aborted!
Command failed with status (1): [/usr/bin/ruby1.8 -I "/usr/lib/ruby/gems/1....]
(See full trace by running task with --trace)
Do I have to do something special for bundler to check out factory girl's repository on github?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
顺便说一句,您可能希望在 gemfile 中包含 'factory_girl_rails' 而不是factory_girl,
因为这是针对 Rails 3 的修复
我们发现,虽然我们的工厂使用黄瓜,但他们不使用 test:unit,直到我们有了这个 gem
on a side note you may want to include 'factory_girl_rails' instead of factory_girl in your gemfile
as this is a fix for rails 3
we found that although our factories worked with cucumber they didnt work with test:unit until we had this gem
您是否尝试过运行
bundle pack
?Have you tried to run
bundle pack
?好吧,我发现了问题。我正在运行捆绑器 0.9.3。升级到 0.9.13 并运行“bundle install”修复了所有问题。
Ok I found the problem. I was running bundler 0.9.3. Upgrading to 0.9.13 and running 'bundle install` fixed everything.