2014-07-25 4 views
5

Gibt es eine Möglichkeit, die Faker gem zur Generierung von "korrelierten" Stadt- und Ländercodewerten zu erhalten?Verwenden Sie Faker gem, um korrelierte Städte, Postleitzahlen und Ländercodewerte zu generieren.

Zum Beispiel

  • Vancouver, CA
  • Minneapolis, MN

ich das tue:

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

Aber es gibt keine Garantie, dass die city wird tatsächlich wohnen in country_code.

würde ich für etwas absetzen wie:

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

Was ich dann die anderen Werte erhalten konnte geocodieren.

Antwort

3

Sie können auf locales customize basiert: https://github.com/stympy/faker#customization

So können Sie eine locale-Datei erstellen oder ändern, finden Sie in diesem Beispiel: https://github.com/stympy/faker/blob/master/lib/locales/en-NEP.yml

Dann können Sie einstellen, was die Standard-Land sein sollte und auch, was Staaten tun Sie möchten

+0

auf einer Seitennotiz verwenden, ich frage mich, ob der Faker Edelstein ist zuverlässig in Bezug auf nicht brechen Ihre Tests (zB: die generierten Code-Text-Duplikate und solche Sachen) – dtc