Ich versuche FactoryGirl zu verwenden, um eine Liste von Elementen zu erstellen, aber ich brauche die Elemente, um nicht in Ordnung zu sein. Das ist was ich habe, aber ich möchte, dass es DRYer ist.FactoryGirl create_list mit verschiedenen Werten
spec.rb
context "three out of order" do
before do
FactoryGirl.create(:thing, ordering: 3)
FactoryGirl.create(:thing, ordering: 1)
FactoryGirl.create(:thing, ordering: 2)
end
it "should sort the things in order" do
expect(Thing.all.map(&:ordering)).to eq([1, 2, 3])
end
end
Ich weiß, dass Sie mehrere Elemente mit erstellen:
FactoryGirl.create_list(:thing, ordering: 3)
aber ich wollte Gegenstände schaffen, damit sie ihre Reihenfolge getestet, und sie würden schaffen alle von ihnen in Reihenfolge, da ich Sequenz in der Fabrik eingerichtet habe.
Dies ist ein klassischer Fall der Lösung des Problems, aber nicht die Frage zu beantworten. Natürlich könnte man das machen, es ist sehr ähnlich wie im ursprünglichen Beispiel, aber das Ziel ist hier der Benutzer 'create_list' und um es einfacher zu halten. Die Frage war nicht "Wie kann ich drei Modelle mit unterschiedlichen Namen erstellen", sondern "Kann ich mit create_list drei Modelle mit unterschiedlichen Namen erstellen", was leider nicht möglich ist. –