0

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

这是 travis-ci 构建的链接:

工作 #1(构建 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 上的提交中引用它。

规格/工厂/active_sale_factories.rb:https://github.com/suryart/spree_active_sale/blob/43cb160d0e4ea1ad694af3f1d848c22a3193cc2a/spec/factories/active_sale_factories.rb

规格/工厂/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 和工厂的新手,第一次做这一切。如果您能解释这种行为或指出我在这里做错了什么,将不胜感激?或者也许可以在这里帮助我解决这个问题?

谢谢

4

1 回答 1

0

没关系,我通过将两个工厂合并到同一个文件而不是单独的文件来进行活动和非活动销售来解决它。

于 2013-03-29T04:43:06.243 回答