FactoryGirlって共通定義ないのか?
問題点
/factories/users.rb
factory :User_fac, class: User do trait :test1_data do id 1000 name "TEST1 DATA" address "TEST1 DATA" end trait :test2_data do id 1001 name "TEST2 DATA" address "TEST2 DATA" end end
/factories/posts.rb
factory :Post_fac, class: Post do trait :test1_data do id 1000 name "TEST1 DATA" address "TEST1 DATA" end trait :test2_data do id 1001 name "TEST2 DATA" address "TEST2 DATA" end end
上記2ファイルの1000,1001ように、ファイル間で同じ値を使用している場合にどこかに共通定義として定義して、そちらから参照する形に持っていきたいが、やり方がわからない。
試行錯誤
factoryのファイル内にenumを作る
module ModuleName TEST1 = 1000 TEST2 = 1001 end
Factoryファイルで宣言するが、Rspec側でCreateされるたびに呼び出されるので
warning: already initialized constant ModuleName::TEST1
warning: previous definition of TEST1 was here
が出てうるさい。
Rspec側のbefore :suiteとかで呼び出された時のコールバックとして宣言すればいけるんだろうか。
正直色々ググったけどいい感じの解決方法が見つからない。
誰か教えてください。