我試圖用FactoryGirl
建立一個Hash
返回是這樣的:FactoryGirl工廠性狀,它返回一個哈希與弦鍵
=> {"3"=>"1", "6"=>"Word"}
我越來越接近,但不是100%有尚未...
第一家工廠的定義我想是這樣的:
factory :faqtory, class: Hash do |f|
f.ignore do
fake_word Faker::Lorem.word
end
f.sequence(1.to_s) { |n| n }
f.send(2.to_s, fake_word.to_s.capitalize)
initialize_with { attributes.stringify_keys }
end
不幸的是,這並不工作:
1.9.3p448 :001 > FactoryGirl.build :faqtory
ArgumentError: Trait not registered: fake_word
之後,沒有工作,我假設要撥打fake_word
需要在一個塊,但沒有什麼區別。
有什麼建議嗎?
謝謝你。它接近SUPER,但不幸的是不是一個可行的解決方案。構建的每個工廠對象對於鍵「」2「'具有相同的值。與我爲@vimsha http://pastie.org/8559316粘貼的輸出相同。我確信這與「懶惰屬性」(https://github.com/thoughtbot/factory_girl/blob/master/GETTING_STARTED.md#lazy-attributes)有關,但不確定如何實施解決方案。 – user3084728
啊,明白了!第3行應該是:'fake_word {Faker :: Lorem.word}'。如果你更新答案,我會選擇正確的 – user3084728
是的,如果你每次想要一個不同的單詞,你也會想要一個塊。我更新了答案。 –