2013-08-26 3 views
40

In einem meiner rspec Test, ich mehrere Objekte aus der gleichen Fabrik Definitionfactory: Erstellen Sie das gleiche Objekt mehrfach

Eg

FactoryGirl.create(:model_1) 
FactoryGirl.create(:model_1) 
FactoryGirl.create(:model_1) 

erschaffe Gibt es eine Methode, die factory_girl dies zu tun gibt in einer Zeile

weiß ich, dass ich tun kann,

3.times {FactoryGirl.create(:model_1)} 

Aber ich suche nach etwas, das factory_girl zum Erstellen mehrerer Objekte des gleichen Modells bietet.

Antwort

78

Sie können eine Liste wie folgt erstellen (daher x Objekte auf einmal erstellen):

FactoryGirl.create_list(:model_1, 3) 

Dokumentation lives here.

+0

Was ist, wenn ich mehrere Objekte wie 'FactoryGirl.create (: model_1,: type =>" etwas ")' erstellen möchte? – usha

+2

in das Dokument schauen, können Sie Params Hash als drittes Argument übergeben – apneadiving

+0

Danke. Ich hätte das genauer betrachten sollen. – usha

2
FactoryGirl.create_list :factory_name, 2, attribute_name: 'value' 

Einfach und beste Art und Weise zu bewegen.

Sie können die Attributnamen ignorieren, wenn sie nicht benötigt werden, und stattdessen die Sequenz verwenden.