无法将 Factory Girl 与 Cucumber 和 Rails 3 一起使用(捆绑程序问题)

发布于 2024-08-26 09:37:38 字数 7376 浏览 7 评论 0原文

我正在尝试在新的 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

疯到世界奔溃 2024-09-02 09:37:38

顺便说一句,您可能希望在 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

残龙傲雪 2024-09-02 09:37:38

您是否尝试过运行bundle pack

Have you tried to run bundle pack ?

向日葵 2024-09-02 09:37:38

好吧,我发现了问题。我正在运行捆绑器 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文