faker - 名前、住所、電話番号などの偽のデータを生成するためのライブラリ。

(A library for generating fake data such as names, addresses, and phone numbers.)

Created at: 2008-12-25 01:20:37
Language: Ruby
License: MIT

ロゴタイプ幸せ-07

フェイカー

テスト ジェムバージョン インラインドキュメント テストカバレッジ 保守性 SemVerの互換性

このgemは、偽のデータを生成するPerlのData::Fakerライブラリの移植版です。

スクリーンショットを撮る(私のプロジェクトのスクリーンショットを撮る、Catch the Bestはこの宝石を作成するための最初の推進力でした)、リアルなテストデータを持ち、データベースに1つまたは2つ以上のレコードを入力するのに非常に便利です。あなたは開発をしています。

ノート

  • Fakerはランダムにデータを生成しますが、戻り値はデフォルトで一意であるとは限りません。一意の値が必要な場合は明示的に指定する必要があります。詳細を参照してください。決定論的機能を使用する場合、値も決定論的になる可能性があります。詳細を参照してください
  • これは
    master
    Fakerのブランチであり、まだリリースされていない変更が含まれている可能性があります。使用可能な方法については、ご使用のバージョンのREADMEを参照してください。すべてのバージョンのリストはこちらから入手できます

インストール

gem install faker

注:

uninitialized constant Faker::[some_class]
エラーが発生した場合、gemのバージョンはここに記載されているバージョンよりも遅れています。gemがここに記載されているものであることを確認するには、Gemfileの行を次のように変更します。

gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'master'

使用法

require 'faker'

Faker::Name.name      #=> "Christophe Bartell"

Faker::Internet.email #=> "kirsten.greenholt@corkeryfisher.info"

CLI

手順は、フェイカーボットのREADMEにあります。

独自の価値を保証する

メソッド呼び出しの前に。を付け

unique
ます。例えば:

Faker::Name.unique.name # This will return a unique name every time it is called

潜在的な値の数が限られているジェネレーターから要求された一意の値が多すぎると、

Faker::UniqueGenerator::RetryLimitExceeded
例外が発生する場合があります。たとえば、テスト間などで返された一意の値のレコードをクリアすることができます。

Faker::Name.unique.clear # Clears used values for Faker::Name
Faker::UniqueGenerator.clear # Clears used values for all generators

生成されたデータと衝突する場合(つまり、ランダムで手動で設定された値でFactoryBotを使用する場合)、すでに使用されている値を一意のジェネレーターに与えることもできます。

# Usage:
# Faker::<generator>.unique.exclude(method, arguments, list)

# Add 'azerty' and 'wxcvbn' to the string generator with 6 char length
Faker::Lorem.unique.exclude :string, [number: 6], %w[azerty wxcvbn]

決定論的ランダム

Fakerは、疑似乱数ジェネレーター(PRNG)のシードをサポートして、繰り返されるメソッド呼び出しの決定論的な出力を提供します。

Faker::Config.random = Random.new(42)
Faker::Company.bs #=> "seize collaborative mindshare"
Faker::Company.bs #=> "engage strategic platforms"
Faker::Config.random = Random.new(42)
Faker::Company.bs #=> "seize collaborative mindshare"
Faker::Company.bs #=> "engage strategic platforms"

Faker::Config.random = nil # seeds the PRNG using default entropy sources
Faker::Config.random.seed #=> 185180369676275068918401850258677722187
Faker::Company.bs #=> "cultivate viral synergies"

発電機

注:以下のジェネレーターの一部はまだリリースされていません。それらを使用する場合は、gemfileの行を次のように変更します。

gem 'faker', :git => 'https://github.com/faker-ruby/faker.git', :branch => 'master'

デフォルト

ブロックチェーン

ファンタジー

生き物

ゲーム

日本のメディア

映画

音楽

引用

スポーツ

テレビ番組

カスタマイズ

世界の場所によっては、Fakerに情報を印刷してもらいたい場合があります。これを支援するために、FakerはI18n gemを使用して、選択した領域の名前と郵便番号を表す文字列と形式を格納します。以下に示すように、必要なロケールを設定するだけで、Fakerが残りの処理を行います。

Faker::Config.locale = 'es'
# or
Faker::Config.locale = :es

ロケールがまだ存在しない場合は、

lib/locales
ディレクトリに作成すると、ニーズに合わせて要素をオーバーライドまたは追加できます。ロケールの使用方法について詳しくは、こちらをご覧ください

en-au-ocker:
  faker:
    name:
      # Existing faker field, new data
      first_name:
        - Charlotte
        - Ava
        - Chloe
        - Emily

      # New faker fields
      ocker_first_name:
        - Bazza
        - Bluey
        - Davo
        - Johno
        - Shano
        - Shazza
      region:
        - South East Queensland
        - Wide Bay Burnett
        - Margaret River
        - Port Pirie
        - Gippsland
        - Elizabeth
        - Barossa

貢献

CONTRIBUTING.mdを参照してください。

コンタクト

コメントやフィードバックは大歓迎です。グーグルグループを介してベンジャミンカーティスにメールを送信します。

また、不和チャンネルに参加して、改善や機能のリクエストに関することについて話し合うこともできます。

ライセンス

このコードは、MITライセンスの条件の下で無料で使用できます。