Losowe id rekordów tworzonych przez factory girl

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]