FactoryGirl:使用私有 class 方法为模型创建工厂 new
FactoryGirl: create factories for model with private class method new
我使用带有工厂方法的非 AR 模型。
class MyModel
include ActiveAttr::Model
attribute :data
attribute :frequency
def self.process_data
# ...
new(data: 'foo', frequency: 1) # e. g.
end
private_class_method :new
end
cource 的默认工厂调用会抛出错误:为 MyModel 调用了私有方法“new”是否有任何特殊的工厂选项可以设置以忽略此错误错误?
class A
class << self
private :new
end
end
FactoryGirl.define do
factory :a do
initialize_with { A.send :new }
end
end
FactoryGirl.build :a
#<C:0x007ff1219f0190>
我使用带有工厂方法的非 AR 模型。
class MyModel
include ActiveAttr::Model
attribute :data
attribute :frequency
def self.process_data
# ...
new(data: 'foo', frequency: 1) # e. g.
end
private_class_method :new
end
cource 的默认工厂调用会抛出错误:为 MyModel 调用了私有方法“new”是否有任何特殊的工厂选项可以设置以忽略此错误错误?
class A
class << self
private :new
end
end
FactoryGirl.define do
factory :a do
initialize_with { A.send :new }
end
end
FactoryGirl.build :a
#<C:0x007ff1219f0190>