下面一段测试代码看不太懂,看的较为透彻的能否帮忙解释下: 背景介绍: 代码来自于《every rails testing with rspec》中的第四章节最后一部分,其中主要是对模型 contact 和模型 phone 两个进行测试,模型之间的关系是 contact has_many phones ,phone 分为三种类型,分别是 home_phone,work_phone,mobile_phone 三种类型。
测试代码如下:
FactoryGirl.define do
factory :contact do
firstname { Faker::Name.first_name }
lastname { Faker::Name.last_name }
email { Faker::Internet.email }
after(:build) do |contact|
[:home_phone, :work_phone, :mobile_phone].each do |phone|
contact.phones << FactoryGirl.build(:phone,
phone_type: phone, contact: contact)
end
end
end
end