我知道您可以重写创建工厂对象的默认策略,如下所示:
Factory.define :person, :default_strategy => :build do
# stuff
end
Factory.define :person, :default_strategy => :create do
# stuff
end
# same behavior as the previous factory
Factory.define :person do
# stuff
end
但我想知道我是否可以将设置添加到工厂女孩配置文件或
/environments/test.rb
文件中,以便Factory.define :person do
# stuff
end
默认情况下生成
Person
对象,默认情况下不创建对象。 最佳答案
从source开始:
module FactoryGirl
class Factory
# ...
def default_strategy #:nodoc:
@options[:default_strategy] || :create
end
# ...
end
end
默认策略等于作为选项传递给定义的策略,否则设置为
:create
。因此,似乎不可能为所有工厂设定策略,除非你对其进行修补。