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

スポンサーリンク

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

【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
画像付き英語辞書 Imagict | 英単語をイメージで暗記
【開発記録】
英単語を画像イメージで暗記できる英語辞書サービスを作って公開しました
スポンサーリンク

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 の機能全体を網羅されています。
 
スポンサーリンク

Leave Your Message!