我有以下工廠:工廠女孩誤差的has_many關係
should "capture emails" do
lead = Factory.build(:lead)
assert_equal(1, lead.emails.size)
end
:
Factory.define :email do |email|
email.email {"infomcburney.cowan.com"}
end
Factory.define :lead do |lead|
lead.emails {|emails| [emails.association(:email)]}
end
哪些是模擬以下類
class Lead < ActiveRecord::Base
has_many :emails
end
class Email < ActiveRecord::Base
belongs_to :lead, :class_name => "Lead", :foreign_key => "lead_id"
end
當我通過早該運行該測試
我收到以下錯誤:
Factory::AttributeDefinitionError: Attribute already defined: emails
我完全被卡住這一點,任何人都可以點我在正確的方向。我正在使用factory_girl 1.3.2。
的風格上看:工廠應該包含佔位符數據而已。所有這些對你來說都很重要,因爲使用它們會產生有效的潛在客戶,並且你應該假設附屬於潛在客戶的電子郵件的實際數量可能會發生變化。如果您的測試依賴於一定數量的線索,請從工廠建立線索,然後明確設置電子郵件。 – Matchu 2010-10-28 23:39:36