【问题标题】:Can not determine issue in my factories with factory girl in rspec无法确定我的工厂与 rspec 中的工厂女孩​​的问题
【发布时间】:2013-03-28 05:27:15
【问题描述】:

我已经为我的一个项目创建了几个工厂并为 rspec 创建了一些示例。我的一切都在我的本地工作。甚至,对于 ruby​​ 版本:1.9.2 和 1.9.3,我的本地规范都是绿色的。我只是不明白为什么 travis-ci 无法构建相同的提交。

这里是 travis-ci 构建的链接:

工作 #1(Build 64):https://travis-ci.org/suryart/spree_active_sale/builds/5850619

工作 #2(构建 65):https://travis-ci.org/suryart/spree_active_sale/builds/5850754

我觉得这很奇怪的原因是,构建 64 未能针对 1.9.2 的 ruby​​ 版本运行规范,并通过了 1.9.3。但是,构建 65 无法针对 1.9.3 的 ruby​​ 版本运行规范,并且无法通过 1.9.2。两个版本的代码都没有变化。

但是,对于两个失败的构建,都会抛出相同的错误:

/home/travis/.rvm/gems/ruby-1.9.2-p320/gems/factory_girl-4.2.0/lib/factory_girl/registry.rb:24:in `find': Factory not registered: active_sale (ArgumentError)
from /home/travis/.rvm/gems/ruby-1.9.2-p320/gems/factory_girl-4.2.0/lib/factory_girl/decorator.rb:10:in `method_missing'

因为,代码很长。我将从 github 上的提交中引用它。

spec/factories/active_sale_factories.rb:https://github.com/suryart/spree_active_sale/blob/43cb160d0e4ea1ad694af3f1d848c22a3193cc2a/spec/factories/active_sale_factories.rb

spec/factories/inactive_sale_factories.rb:https://github.com/suryart/spree_active_sale/blob/43cb160d0e4ea1ad694af3f1d848c22a3193cc2a/spec/factories/inactive_sale_factories.rb

据我所知,问题来自第 5 行的 active_sale_factories.rb 中的这一行:

factory :active_sale, :class => Spree::ActiveSale do |f|
  name "Dummy Sale"
end

无法从 inactive_sale_factories.rb 定义的工厂中确定。

我是 rspec 和工厂的新手,第一次做这一切。如果您能解释这种行为或指出我在这里做错了什么,将不胜感激?或者也许可以在这里帮助我解决这个问题?

谢谢

【问题讨论】:

    标签: ruby ruby-on-rails-3 factory-bot rspec-rails


    【解决方案1】:

    没关系,我通过将两个工厂合并到同一个文件中来解决这个问题,而不是针对活跃和非活跃销售的单独文件。

    【讨论】:

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