Fabrication gem允许我们将自定义参数传递给我们正在制造的类的构造函数:
on_init { init_with('something', true) }
但是如何init_with
在对象生成时间传递自定义值?
对于对象字段,我可以执行以下操作,但是有没有办法将值传递给init_with
?
Fabricate(:foobar, attr1: 'something', attr2: true)
Fabrication gem允许我们将自定义参数传递给我们正在制造的类的构造函数:
on_init { init_with('something', true) }
但是如何init_with
在对象生成时间传递自定义值?
对于对象字段,我可以执行以下操作,但是有没有办法将值传递给init_with
?
Fabricate(:foobar, attr1: 'something', attr2: true)
您可以在 Fabricate 时使用块语法,就像在定义 Fabricator 时一样。
Fabricate(:foobar, attr1: 'something', attr2: true) do
on_init { init_with('another', 'thing') }
end
据我所知,这是不可能的。
def build_instance_with_init_callback(callback)
self._instance = _klass.new(*callback.call)
set_attributes
end
你被你在制造商定义中使用的东西困住了。