2010-11-30 48 views

Répondre

11

Je ne suis pas certain de comprendre parfaitement. Et je ne suis pas un utilisateur de machiniste. Mais on dirait que vous voulez juste faire quelque chose comme ça.

@attributes = FactoryGirl.attributes_for(:my_object) 
my_object = MyObject.create(@attributes) 
my_object.some_property.should == @attributes[:some_property] 
1

Merci pour ce post, je voulais juste ajouter que la classe est factorygirl

@user_attributes = FactoryGirl.attributes_for(:super_user) 
1

La solution John Hinnegan suggère est saine, mais il vaut mieux utiliser la méthode FactoryGirl.create pour l'initialisation de l'objet, car il sera généralement vous donner un objet valide. Par exemple, un after(:create) ne sera pas appelé si vous utilisez MyObject.new.

@attributes = FactoryGirl.attributes_for(:my_object) 
my_object = FactoryGirl.create(:my_object, @attributes) 
expect(my_object.some_property).to eq @attributes[:some_property]