La fabbricazione non ha lo zucchero di sintassi per i tratti. Per quanto ho capito, è solo un modo per raggruppare e definire l'ereditarietà.
Nel caso di questa fabbrica: (che ho tirato da this blog post)
FactoryGirl.define do
factory :todo_item, aliases: [:incomplete_todo_item] do
name 'Pick up a gallon of milk'
complete false
factory :complete_todo_item do
complete true
end
end
end
Si potrebbe fare la stessa cosa in Fabrication come questo:
Fabricator(:todo_item, aliases: :incomplete_todo_item) do
name 'Pick up a gallon of milk'
complete false
end
Fabricator(:complete_todo_item, from: :todo_item) do
complete true
end
Se si decide di convertirvi può inviare al mailing list con domande specifiche. Sono sempre felice di aiutare a capire come far funzionare le cose o migliorare l'efficienza dei fabbricanti.
fonte
2015-04-06 02:13:37
Grazie Paul, aiuta efficacemente a evitare la duplicazione e a mantenere le fabbriche di derisione in FactoryGirl DRY. È questa duplicazione che mi riguarda su Fabrication – ocodo
Non penso che i tratti aggiungano alcun valore reale. I costruttori che ho esposto sopra sono ASCIUTTI e più concisi delle loro controparti basate sui tratti. Potresti darmi un esempio di cosa stai facendo con i tratti che lo rendono davvero utile? Non ho mai visto un esempio non banale di utilizzo. –
Li stiamo usando per configurare modelli complessi che avranno differenze piccole (ma cruciali), che influenzano il modo in cui viene elaborata la logica aziendale. Per implementarli come oggetti Fabricator separati, almeno mi sembra necessario richiedere una grande quantità di fogli duplicati. – ocodo