多くの場合、実際のデータを操作するためにアプリケーションをテストする必要があります。 さらに、データは、質的側面と量的側面の両方から、できるだけ実際のデータに近づける必要があります。 データベースにそのようなデータを入力する作業は、
Populatorおよび
Faker gemによって大幅に簡素化されます。
ユーザーモデルがあるとし
ます 。
- メール:文字列
- first_name:文字列
- last_name:文字列
- ssn:文字列
- security_question:文字列
- 答え:文字列
- 電話:文字列
- アドレス:文字列
- 都市:文字列
- 状態:文字列
- zip:文字列
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