Ta odpowiedź jest nieco szersza niż pytanie, ale wydaje mi się, że jest ona podstawą tego, co próbujesz zrobić, i będzie najłatwiejsza i najłatwiejsza w utrzymaniu.
Myślę, że to, czego naprawdę szukasz, to fabryki. Spróbuj użyć czegoś takiego, jak factory_girl, co znacznie ułatwi testowanie.
pierwsze, można by założyć fabrykę tworzyć niezależnie od typu obiektu to Ty testujesz i użyć sekwencję atrybutu email:
FactoryGirl.define do
factory :model do
sequence(:email) {|n| "person#{n}@example.com" }
# include whatever else is required to make your model valid
end
end
Wtedy, kiedy trzeba ważnych atrybutów, można użyć
Factory.attributes_for(:model)
można również użyć Factory.create
i Factory.build
aby utworzyć zapisane i niezapisane instancji modelu.
Wyjaśnienie wielu funkcji dostępnych w getting started document, a także instrukcji dotyczących dodawania fabryk do projektu.
Krótka odpowiedź brzmi: nie, nie ma czegoś takiego jak "static" w Ruby. Dlaczego nie pozwolić, aby baza danych obsługiwała twój automatyczny klucz inkrementacyjny? – Emily
Ponieważ jest to metoda generowania poprawnych atrybutów do testowania Rspec, a niektóre rzeczy muszą być unikatowe. – Zequez