Как определить последовательности в FactoryGirlRails? - PullRequest
3 голосов
/ 31 марта 2011

Ранее в Factory girl мы могли определять последовательности следующим образом:

# /spec/factories.rb

FactoryGirl.define do

  # this is the sequence in question:
  sequence(:random_token) { Digest::MD5.hexdigest(rand.to_s) }

  factory :story do
    sequence(:title) { |n| "My Cool Story##{n}"  }
    # Call the sequence here:
    token { Factory.next(:random_token) }
    description { "#{title} description"}
  end

end

Теперь, когда я пробую такой подход, я получаю предупреждение об устаревании, говорящее мне:

WARNING: FactoryGirl::Sequence#next is deprecated.
Use #run instead.

КогдаЯ заменяю #next на #run, я получаю ошибку отсутствия метода.Я не могу найти новый синтаксис ни в одном из документов ... Кто-нибудь может указать мне правильное направление?

Спасибо

1 Ответ

9 голосов
/ 31 марта 2011

Я думаю, вы должны использовать Factory.create(...) вместо, например,

token { Factory.create(:random_token) }
...