【发布时间】: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