0

私はいくつかの工場を作成し、私のプロジェクトの 1 つで rspec の例をいくつか作成しました。ローカルですべてが機能しています。さらに、私の仕様は、1.9.2 と 1.9.3 の両方の Ruby バージョンのローカルで緑色です。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 の commit から参照します。

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

私が知っていることは、この問題は、active_sale_factories.rb の 5 行目の次の行から発生していることです。

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

これは、inactive_sale_factories.rb で定義された工場からは判断できません。

私はrspecとfactoryが初めてで、これをすべて初めて行います。この動作を説明したり、ここで私が間違っていることを指摘したりできれば、非常に感謝していますか? または、この問題を解決するためにここで私を助けることができますか?

ありがとう

4

1 に答える 1

0

気にしないで、アクティブな販売と非アクティブな販売のために別々のファイルではなく、両方の工場を同じファイルにマージすることで整理しました.

于 2013-03-29T04:43:06.243 に答える