Straciłem sporo czasu na znalezienie błędów, które były by wykryte automatycznie przez testy, gdyby te IDki były losowe. Czy można to jakoś ustawić w Factory Girl albo czy jest to z jakiś powodów nie zalecane ?
Uzywanie rand z factories jest niezalecane - majac atrybut, ktory powinien sie zmieniac z kazdym nowym “sfabrykowanym” obiektem, korzystasz po prostu z sequence:
Tak wiem, używam tego do emaili itp, ale nie ma sensu używać tego do id bo rezultat bedzie identyczny, czyli kolejne idki.
Ale po co w ogole definiujesz id w factory?
Nie ma takiej potrzeby - podobnie jak nie ustawiasz w factory atrybutow created_at oraz updated_at
Możesz stworzyć swój własny generator:
[quote]factory :user do
sequence(:email, 'a', aliases: [:sender, :receiver]) {|n| "person#{n}@example.com" }
end
The value just needs to support the #next method. Here the next value will be ‘a’, then ‘b’, etc.[/quote]