如何在FactoryGirlRails中定义序列?

bod*_*ous 3 rspec2 ruby-on-rails-3 factory-bot

以前在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
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试这种方法时 - 我收到一个弃用警告告诉我:

WARNING: FactoryGirl::Sequence#next is deprecated.
Use #run instead.
Run Code Online (Sandbox Code Playgroud)

当我用#run替换#next时,我得到一个无方法错误.我无法在任何文档中找到新语法...有人能指出我正确的方向吗?

谢谢

Hak*_*onB 9

我认为你应该使用Factory.create(...),例如

token { Factory.create(:random_token) }
Run Code Online (Sandbox Code Playgroud)