在旧版本中,类似这样的事情是可能的(
more examples
):
Factory.sequence(:email, 50..60) do |n|
"user_#{n}@example.com"
end
在新的FactoryGirl版本中使用它将创建一个
NoMethodError: undefined method 'next' for 0..10:Range
.
特别是我有一个模型
user
它有多个
time_entries
。我想创建默认值。为了简单起见,每个用户都应该创建
n
时间条目。条目的创建方式如下:
FactoryGirl.define do
factory :time_entry do
start_time { generate(:time_entry_begin) }
end_time { generate(:time_entry_end) }
end
end
FactoryGirl.define do
sequence(:time_entry_begin, 0..10) do |n|
DateTime.now - n.hours
end
end
FactoryGirl.define do
sequence(:time_entry_end, 0..10) do |n|
DateTime.now - n.hours + (1 + n).minutes
end
end