Factory already registered: user (FactoryGirl::DuplicateDefinitionError) の対策

Rails でのテストに FactoryGirl を使ってみているのですが、本日以下のエラーが出た。

スポンサーリンク

Factory already registered: user (FactoryGirl::DuplicateDefinitionError) のメッセージで Factory はすでに登録されている、と注意されています。また user (FactoryGirl::DuplicateDefinitionError) から推測されるとおり、FactoryGirl でのテスト用モデルデータである user の定義が重複してるよ、とのことらしい。

案の定、spec/ 以下を探してみたら、spec/factories.rb と spec/factories/user.rb の二箇所で同じ userモデルデータの定義がされていたので、spec/factories/user.rb のほうを削除したところ、エラーが消え無事にテストを実行できました。

以下の Stack Overflow の質問も参考になりました。

スポンサーリンク
パーフェクト Ruby on Rails は、最近読んだ Rails 本の中では一番役に立った本です。Chef や Capistrano など Rails と共によく使用される技術にも触れてあります。Ruby on Rails 4 アプリケーションプログラミングは、入門的な内容で Rails の機能全体を網羅されています。
スポンサーリンク
 
Twitterを使っていますのでフォローお願いたします!ブログの更新情報もつぶやいてます^^
(英語学習用)

Leave Your Message!