如何解决我试图在factory_bot rails中的create_list限制字符串数组中的序列
从纯红宝石代码中,我试图在工厂规格中实现一个序列,以执行类似于此红宝石代码块的操作
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
的{{1}}限制为array
的{{1}}
解决方法
您的序列代码不必担心记录的数量,因为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) }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。