我试图在factory_bot rails中创建_list,以限制字符串数组中的序列



从直接的ruby代码中,我试图在我的工厂规范中实现一个序列,以做一些类似于这个代码的ruby块的事情

domains = %w(gmail.com yahoo.com msn.com)
d = []
100.times do |n|
d << domains[n % domains.length] 
end
puts d // this will print restricted strings from the array 100 times

这就是我试图用rspec中的序列来实现的,以测试我的代码在数据库中创建了100条记录后的工作情况,该数据库已经在模型中进行了验证

这是我的工厂

trait :random do
sequence(:local_government_area) do |l|
lga = %w(zuru fakai sakaba)
lga_to_save = []
100.times do |n|
lga_to_save << lga[n % lga.length]
end
puts lga_to_save
puts l

local_government_area { lga_to_save }
end
end
end

它被称为

let(:hundred_students) { create_list(:biodata, 100, :random) }

我知道我的代码不接近,因为我一直在调试,但我需要知道如何将create_list限制为stringsarray,用于trait

您的序列代码不应该担心记录的数量,因为create_list已经做到了这一点。试试这个:

trait :random do
sequence(:local_government_area) do |n| 
lga = %w(zuru fakai sakaba)
lga[n % lga.length]
end
end

然后:

let(:hundred_students) { create_list(:biodata, 100, :random) }

相关内容

  • 没有找到相关文章

最新更新