emailとかユニーク制約がついているカラムに対してFactoryGirlでは、シーケンスを利用してユニークのデータを作成することができます。
連番(Sequences)の使用例
usernameに連番を使って、ユニークしてそれをemail作成している例
FactoryGirl.define do
factory :user do
# test.user1, test.user2, test.user3, ...
sequence :username do |n|
"test.user#{n}"
end
email { "#{username}@example.com" }
password 'password'
end
end
初期値を設定する例
FactoryGirl.define do
factory :user do
# test.user100, test.user101, test.user102, ...
sequence :username,100 do |n|
"test.user#{n}"
end
email { "#{username}@example.com" }
password 'password'
end
end
数字以外を設定する例
FactoryGirl.define do
factory :user do
# test.usera, test.userb, test.userc, ...
sequence :username,'a' do |n|
"test.user#{n}"
end
email { "#{username}@example.com" }
password 'password'
end
end