Nell'ultima versione di FactoryGirl, alcuni metodi sintattici come Factory.create
sono stati deprezzati a favore di molti altri, in particolare FactoryGirl.create
e il più semplice create
.Non chiaro quando utilizzare una sintassi FactoryGirl specifica
Tuttavia, l'esperienza mostra che certe sintassi non sono sempre appropriate dato il contesto.
Prendiamo ad esempio:
FactoryGirl.define do
factory :article do
after_create {|a| a.comments << create(:comment) }
end
factory :comment do
end
end
caso di applicazione dell'articolo has_many commenti, e commenti belongs_to articolo. Negli impianti sopra indicati, a.comments << create(:comment)
emette l'errore Comment(#nnn) expected, got FactoryGirl::Declaration::Static
. Cambia quella linea in a.comments << FactoryGirl.create(:comment)
e l'errore scompare.
Non è chiaro quando una sintassi dovrebbe avere la precedenza su qualsiasi altra forma.
Sei un dannato salvatore. Sto solo andando a usare la sintassi lunga. Migliori sequenze di tasti in più rispetto alle ore di debug senza tracce. –
L'ho chiesto un anno fa e ho utilizzato la forma lunga da allora. Sì, sono d'accordo, molto meno grattando la testa. – IAmNaN