是否可以使用factory_girl特徵的速記塊語法?factory_girl特徵的速記塊語法
考慮這個廠:
FactoryGirl.define do
factory :foo do
name "name"
# not using the block shorthand {} syntax, instead using do...end block syntax
trait :my_name do
name "Neil"
end
end
end
而且使用此工廠的工作原理:
create(:foo, traits: [:my_name])
不過,我想使用簡寫塊語法我的特質,像這樣:
FactoryGirl.define do
factory :foo do
name "name"
# using shorthand block syntax but does not work
trait :my_name {name "Neil"}
end
end
現在使用這個工廠出錯了。這是發生了什麼:
create(:foo, traits: [:my_name])
語法錯誤,意外「{」,期待keyword_end(SyntaxError錯誤)
這似乎很奇怪,因爲我認爲,無論你使用do ... end
你可以選擇速記{}
塊語法。
問題:對於factory_girl trait
方法,我的速記塊語法有什麼問題嗎?這就是爲什麼它出錯了?或者:你是不是允許在factory_girl traits
中使用速記塊語法?是否有一種方法可以使factory_girl traits工作的速記塊語法成爲可能?
Docs on the factory_girl trait attribute
哇哦!太好了,謝謝!看起來我需要更多地研究塊。欣賞它! – Neil