对于我的Rails应用的自动测试,我想生成随机电话号码。
我该如何处理?
答案 0 :(得分:1)
为什么不包括Faker Gem https://github.com/stympy/faker/blob/master/doc/phone_number.md
答案 1 :(得分:0)
发现了这个问题,没有找到答案(comic reference)。
Indeed Faker给出了有时无效的随机数。检查了其他语言中的其他lib的作用(例如python),采用的一种解决方案是用Phony强行使用Faker(这里我也使用PhonyRails,因为我使用的是国家代码的默认区域设置PhohyRails)
def test_phone_number(locale=nil)
# Magic to get your own app locale
Faker::Config.locale = locale
if [:fi, :de, ...].include?(locale)
# faker locales that allow cell_phone call
Faker::PhoneNumber.cell_phone
else
Faker::PhoneNumber.phone_number
end
end
def valid_phone_number!
number = test_phone_number
attempts = 0
while !Phony.plausible?(PhonyRails.normalize_number(number))
number = test_phone_number
attempts += 1
if attempts > 100
raise "Cannot generate valid phone number"
end
end
number
end