dieser Rails Modelle Gegeben:rspec Fabrik Mädchen Pass Assoziation zu Assoziation
class Human
has_many :pets
has_many :vet_visits
end
class Pet
belongs_to :human
has_many :vet_visits
end
class VetVisit
belongs_to :human
belongs_to :pet
end
Ich brauche eine rspec Fabrik, um eine VetVisit zu machen. Aber:
Ergebnisse in einem vet_visit mit einem Menschen und einem Haustier, die nicht das jeweilige Haustier/Mensch des anderen sind.
Wie mache ich eine Fabrik, die eine vet_visit erstellt, die ein Haustier mit einem Menschen hat, der der gleiche Mensch ist, auf den der vet_visit verweist?
jeden Zweifel zu löschen, ich bin nicht in der Tat ein vetinary System zu machen, ist dies ein abstraktes Beispiel aus einem komplexeren System, das menschliche entfernen und in dem Code vet_visit.pet.human tut nicht geeignet ist
, In der Tat in vielen Fällen macht es Sinn, es auf diese Weise zu tun. In komplexeren Beispielen kann dies bedeuten, dass Hunderte von Leets definiert und weitergegeben werden. Sie könnten dann darauf bestehen, stattdessen YAML-Strukturen zu importieren, aber im Interesse, komplette selbständige Fabriken zu haben, schaue ich, ob es einen Weg gibt, es in FactoryGirl – xxjjnn
zu tun. Wenn Ihr Test so viele Anforderungen erfüllt, müssen Ihre Tests möglicherweise umstrukturiert werden. Wie unterscheidet sich Ihr Testkonzept, wenn Sie sagen, 6 im Vergleich zu den 100. Wenn Sie Hunderte von lets benötigen, können Sie wahrscheinlich eine Schleife schreiben, um solche Dinge zu tun, aber ich verstehe nicht, warum eine Spezifikationsdatei 100s benötigt so definierte Variablen. – MageeWorld