我知道您可以重写创建工厂对象的默认策略,如下所示:

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。因此,似乎不可能为所有工厂设定策略,除非你对其进行修补。

09-25 19:55