【问题标题】:Use Faker gem to generate correlated city, postal code, country code values使用 Faker gem 生成相关的城市、邮政编码、国家代码值
【发布时间】:2014-09-17 20:55:21
【问题描述】:

有没有办法让Faker gem 生成“相关”的城市和国家代码值?

例如,

  • 加利福尼亚州温哥华
  • 明尼苏达州明尼阿波利斯

我正在这样做:

FactoryGirl.define do
  factory :location do
    ...
    city {Faker::Address.city}
    country_code {['US', 'CA'].sample}
    ...
  end
end

但不能保证city 将实际驻留在country_code 中。

我会满足于:

postal_code {Faker::Address.postcode(['US', 'CA'].sample) }

然后我可以对其进行地理编码以获取其他值。

【问题讨论】:

    标签: ruby-on-rails ruby faker


    【解决方案1】:

    您可以根据语言环境进行自定义:https://github.com/stympy/faker#customization

    因此您可以创建或修改语言环境文件,请参见此示例:https://github.com/stympy/faker/blob/master/lib/locales/en-NEP.yml

    然后你可以设置默认国家应该是什么以及你想使用什么州

    【讨论】:

    • 附带说明,我想知道 faker gem 在不破坏您的测试方面是否可靠(例如:生成的代码文本重复和类似的东西)
    【解决方案2】:

    试试这个:

    Faker::Address
    

    还有额外的选项:

    Faker::Address.city
    

    【讨论】:

    • 这只会产生随机数据,这就是问题试图避免的原因
    猜你喜欢
    • 2014-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多