PopulatorおよびFakerを使用してデータベースにテストデータを入力する

多くの場合、実際のデータを操作するためにアプリケーションをテストする必要があります。 さらに、データは、質的側面と量的側面の両方から、できるだけ実際のデータに近づける必要があります。 データベースにそのようなデータを入力する作業は、 PopulatorおよびFaker gemによって大幅に簡素化されます。



ユーザーモデルがあるとします



usersテーブルに対して1000人のテストユーザーを生成するには、次のコードを使用します。



 「ポピュレーター」が必要
 「フェイカー」が必要

 #DBにユーザーを取り込む
 User.populate(1000)do | user |
   user.email = Faker :: Internet.email
   user.first_name = Faker :: Name.first_name
   user.last_name = Faker :: Name.last_name
   user.ssn = Faker.numerify( "###-##-####")
   user.security_question = Populator.words(4..10)
   user.answer = Populator.words(1..3)
   user.phone = Faker.numerify( "#" * 10)
   user.address = Faker :: Address.street_address
   user.city = Faker :: Address.city
   user.state = Faker :: Address.us_state_abbr
   user.zip = Faker :: Address.zip_code
終わり




PopulatorはActiveRecordモデルを継承しませんが、パフォーマンスを改善するためにデータベースを直接操作することに注意してください 。 配列または範囲はフィールド値として渡すことができ、 Populatorは自動的にランダムを選択します。



 user.sex = ["male"、 "female"]
 user.age = 20..30



All Articles