Есть ли параметр конфигурации, чтобы глобально установить: default_strategy в: build для всех заводов factory_girl? - PullRequest
4 голосов
/ 29 ноября 2010

Я знаю, что вы можете переопределить стратегию по умолчанию для создания объекта Factory следующим образом:

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

, но мне интересно, могу ли я добавить параметр в файл конфигурации factory_girl или, возможно, в /environments/test.rb файл, так что

Factory.define :person do
  # stuff
end

создает объект Person по умолчанию и не создает его по умолчанию.

Ответы [ 2 ]

0 голосов
/ 25 августа 2017

FactoryGirl.use_parent_strategy

Для подробностей следуйте https://github.com/thoughtbot/factory_girl/pull/961.

0 голосов
/ 30 ноября 2010

Из источника :

module FactoryGirl
  class Factory
    # ...
    def default_strategy #:nodoc:
      @options[:default_strategy] || :create
    end
    # ...
  end
end

Стратегия по умолчанию равна стратегии, переданной в качестве опции определению, и в противном случае устанавливается на :create.Таким образом, кажется, что невозможно установить стратегию для всех фабрик, если вы не исправите обезьяну FactoryGirl::Factory#default_strategy.

...