Was sind die vorübergehenden Attribute von factory_girl? Warum sollte ich eine verwenden?
Ich leseDie von Thoughtbot, aber für mich ist es immer noch verwirrend.
Dies ist ihr Beispiel:
factory :user do
transient do
rockstar true
upcased false
end
name { "John Doe#{" - Rockstar" if rockstar}" }
email { "#{name.downcase}@example.com" }
after(:create) do |user, evaluator|
user.name.upcase! if evaluator.upcased
end
end
create(:user, upcased: true).name
#=> "JOHN DOE - ROCKSTAR"
So
Ist.upcased
ein echtes Attribut für das Modell?Was ist dertransient
Block wirklich zu tun? Variablen setzen, die dann ab Werk verwendet werden können?Was istevaluator
? Muss es immer als letztes bestanden werden? Was ist, wenn Ihrcreate
-Funktion verwendet Merkmale, Transienten und hat mehrere Werte?