Как я могу сбросить последовательность factory_girl?

При условии, что у меня есть фабрика проекта

Factory.define :project do |p|
  p.sequence(:title)    { |n| "project #{n} title"                  }
  p.sequence(:subtitle) { |n| "project #{n} subtitle"               }
  p.sequence(:image)    { |n| "../images/content/projects/#{n}.jpg" }
  p.sequence(:date)     { |n| n.weeks.ago.to_date                   }
end

И это я создаю экземпляры проекта

Factory.build :project
Factory.build :project

К этому времени в следующий раз я выполняю Factory.build (: проект) я получу экземпляр Проекта с набором заголовка к "заголовку проекта 3" и так далее. Не удивление.

Теперь скажите, что я хочу сбросить свой счетчик в этом объеме. Что-то как:

Factory.build :project #=> Project 3
Factory.reset :project #=> project factory counter gets reseted
Factory.build :project #=> A new instance of project 1

Каков был бы лучший способ достигнуть этого?

Я в настоящее время использую следующие версии:

factory_girl (1.3.1) factory_girl_rails (1.0)

Заранее спасибо, С наилучшими пожеланиями.

27
задан DBA 29 July 2010 в 02:53
поделиться

1 ответ

Нет встроенного способа сбросить последовательность, см. Исходный код здесь:

http://github.com/gotitbot/factory_girl/blob/master/lib/factory_girl/sequence .rb

Однако некоторые люди взломали / исправили эту функцию. Вот пример:

http://www.pmamediagroup.com/2009/05/smarter-sequencing-in-factory-girl/

1
ответ дан 28 November 2019 в 04:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: