FactoryGirl の新しいインタフェースに移行したときのメモ
えいっと新しい FactoryGirl に移行して、新しいインタフェースに対応してみた。どう移行したかは GETTEING_STARTED.md を読んでその通りに定義部分と利用部分を修正した。詳細は省く。
……が、こんな感じのエラーに悩む。
....../ruby-1.9.2-p290/gems/factory_girl-2.1.2/lib/factory_girl/registry.rb:38:in `add_as': Already defined: user (FactoryGirl::DuplicateDefinitionError)
多重定義と言っているが、特に複数個定義していない。
- 古いインタフェースが混じってたのでそれを統一したり
- factory の継承をやめてみたり
- alias をやめてみたり
してみたがダメで仕方なくソースまで潜る。DIVE TO THE NIGHT.
結論としては、 spec_helper.rb で spec/factories を require していた行があったので、削除して解決した。
require Rails.root.join("spec/factories.rb")
FactoryGirl は factories ファイルを load するので注意なのだな。