次のように定義された (単純化された) ファクトリがあります。
factory :league do
acronym 'NBA'
end
factory :division do
league
end
ディビジョンはリーグに属します。このファクトリを定義するとき、1 つのリーグが作成され、そのリーグが何度も再利用されてディビジョンに実際の League_id が与えられると想定していました。
FactoryGirl.create(:division)
代わりに、リーグacronym
が一意であると想定されているため、2 回目の呼び出しでエラーが発生します。
class League < ActiveRecord::Base
validates :acronym, uniqueness: true
end
次のテストの中断につながる
ActiveRecord::RecordInvalid: 検証に失敗しました: 頭字語は既に使用されています
できればテストのセットアップで階層を作成せずに、これを回避するにはどうすればよいですか?
私が達成しようとしていることに対して factory_girl よりも優れたものがあれば、それを提案してください