我想使用 Factory Girl 生成大量模型,每个模型只有一个或两个属性不同。
有没有办法让工厂接受模型的实例?理想情况下,我想
before(:all) do
data1 = create(:instance,
:attribute_1 => 1,
:attribute_2 => 2,
:attribute_3 => "something",
:attribute_4 => "something else",
:attribute_5 => 5
...
)
data2 = create(:instance,
:attribute 2 => 15,
base: data1
)
end
data2 将被初始化为 data1 的克隆,我可以只指定要覆盖的新属性。
我试过使用瞬态属性,但看不到实现类似的方法:
FactoryGirl.define do
factory :instance do
ignore do
base nil
end
attribute_1 { base.nil? ? argument.attribute_1 : base.attribute_1 + argument.attribute_1 }
attribute_2 { base.nil? ? argument.attribute_2 : base.attribute_2 + argument.attribute_1 }
...
end
end
我是以完全错误的方式处理这个问题吗?