Rails 3.1.0.rc8でマウント可能なエンジンを使用していますが、factory_girlを実行すると、「引数エラー:登録されていません:user1」が表示されます。
https://github.com/thoughtbot/factory_girl/issues/168を読んで、RailsコンソールからFactoryGirl.definition_file_pathsを実行するように開発者に提案した場所がわかります。 同じ問題を疑って、私はこれを試し、受け取った:
=> ["/ Users / mab / Documents / Development / mountable_engine_tests / gemmy / spec / dummy / test / factorys"、 "/ Users / mab / Documents / Development / mountable_engine_tests / gemmy / spec / dummy / spec / factorys"]
これはマウント可能なエンジンであるため、スペック、フィクスチャ、およびすべてをUsers / mab / Documents / Development / mountable_engine_tests / gemmy / specに、/ dummyなしで配置していました。 したがって、私のファクトリはUsers / mab / Documents / Development / mountable_engine_tests / gemmy / spec / factoriesにあります。
私がどこでもマウント可能なエンジンで読んでいるドキュメントによると、工場はダミーの下にあるべきではありません。 アドバイスできますか?
TIA、
-マット
これを修復する方法について何かアドバイスはありますか?
工場はエンジンの一部ですか、それともエンジンのテストの一部ですか? あなたがここで何を達成しようとしているのか理解できません。
ハハ、返事をありがとう、joshuaclayton。 私はここで問題になるかもしれません!
3つの別々のプロジェクトで使用したいモデル専用エンジンがあるので、エンジンでのモデルテストのみが必要ですが、そこで使用したいと思います。 私の考えは、この目的のためにマウント可能なエンジンを使用することでした。 この時点で、名前空間を必要としないため、マウント可能にすることをやめました。--mountableを使用した魔法の荷物が問題を引き起こしているようです。
ただし、spec_helper.rbに次のように入力することで、factory_girlの問題を回避できました。
FactoryGirl.definition_file_paths << File.join(File.dirname( FILE )、 'factories')
FactoryGirl.find_definitions
デフォルトの動作は/ dummyで工場を指すように見えますが、specやその他の人は/ specでテストなどを上げることを好むようです。
結局、それは私には何の違いもありませんが、皆さんは、一方の構造を使用するrspecと、もう一方の構造を使用するfactory_girlで、ここで相違があるように見えることを知りたいと思いました。
再度、感謝します。
最終的に作成した内容(Factory Girlのdefinition_file_paths
へのパスを追加)は、パスを正しく配線するために行うことをお勧めします。
これに加えて、 spec_helper.rb
先頭でrequire 'factory_girl'
を実行する必要があることがわかりました。 マークダウンされているため、上記のコードにもエラーがあります。
FactoryGirl.definition_file_paths << File.join(File.dirname(__FILE__), 'factories')
FactoryGirl.find_definitions
最も参考になるコメント
これに加えて、
spec_helper.rb
先頭でrequire 'factory_girl'
を実行する必要があることがわかりました。 マークダウンされているため、上記のコードにもエラーがあります。