我的应用程序有一个电话模型,其中一个字段是 .guid,它设置为before_create :set_guid
(生成一个随机字符串并在创建模型时将其放入 guid 字段中)。
我的手机工厂看起来像:
require 'faker'
FactoryGirl.define do
factory :phone do |f|
f.phone { Faker::PhoneNumber.phone_number }
end
end
这个创建电话的简单测试未能通过我的模型验证,因为 guid 为空白:
describe Phone do
it "has a valid factory" do
FactoryGirl.create(:phone).should be_valid
end
我当然可以手动填充 Factory 定义中的 guid 字段,但 Factory 的目的不是运行模型的正常验证和回调以确保它们正常工作吗?
显然我遗漏了一些东西 - 使用 FactoryGirl 创建模型实例的正确方法是什么?