Faker adalah port dari perpustakaan Data::Faker Perl. Ini adalah perpustakaan untuk menghasilkan data palsu seperti nama, alamat, dan nomor telepon.
Faker membantu Anda menghasilkan data pengujian yang realistis, dan mengisi database Anda dengan lebih dari beberapa catatan saat Anda melakukan pengembangan.
Ini sangat berguna untuk mengambil tangkapan layar (mengambil tangkapan layar untuk proyek pribadi) dan itu adalah dorongan asli untuk pembuatan permata ini.
Tautan cepat
- Baca dokumentasi untuk versi terbaru.
- ? Lihat apa yang berubah di versi terbaru.
Di media
- ? Dengan Humor yang Hebat, Muncullah Keterlibatan Pengembang yang Hebat - Penelitian KTH Royal Institute of Technology
- Komputer dan Komunikasi 4.5.2024, komplette Sendung - Wawancara Deutschland Funk Radio
Daftar isi
- Pemalsu
- Tautan cepat
- Daftar isi
- Memulai
- Penggunaan
- Catatan tentang versi Generator
- Memastikan nilai-nilai unik
- Acak deterministik
- Kustomisasi
- Minitest dan Faker >= 2.22
- Generator
- Berkontribusi
- Pembuatan versi
- Lisensi
Catatan
- Meskipun Faker menghasilkan data secara acak, nilai yang dikembalikan tidak dijamin unik secara default. Untuk menentukan secara eksplisit kapan Anda memerlukan nilai unik, lihat Memastikan Nilai Unik. Nilai juga dapat bersifat deterministik jika Anda menggunakan fitur deterministik, lihat Acak deterministik
- Ini adalah cabang
main
Faker dan mungkin berisi perubahan yang belum dirilis. Silakan merujuk ke README versi Anda untuk metode yang tersedia. Daftar semua versi tersedia di sini.
Memulai
Mulailah dengan memasukkan faker
ke dalam Gemfile Anda:
Kemudian jalankan bundle install
.
Penggunaan
Berikut beberapa contoh cara menggunakan Faker:
"5479 William Way, East Sonnyhaven, LA 63637"
Faker::Markdown.emphasis #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*"
Faker::TvShows::RuPaul.queen #=> "Violet Chachki"
Faker::Alphanumeric.alpha(number: 10) #=> "zlvubkrwga"
Faker::ProgrammingLanguage.name #=> "Ruby"">
require 'faker'
Faker :: Name . name #=> "Christophe Bartell"
Faker :: Address . full_address #=> "5479 William Way, East Sonnyhaven, LA 63637"
Faker :: Markdown . emphasis #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*"
Faker :: TvShows :: RuPaul . queen #=> "Violet Chachki"
Faker :: Alphanumeric . alpha ( number : 10 ) #=> "zlvubkrwga"
Faker :: ProgrammingLanguage . name #=> "Ruby"
Untuk daftar lengkap generator, lihat Generator.
Catatan tentang versi Generator
Jika Anda mendapatkan kesalahan uninitialized constant Faker::[some_class]
, versi permata Anda berada di belakang main.
Untuk memastikan bahwa permata Anda adalah yang didokumentasikan di sini, ubah baris di Gemfile Anda menjadi:
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
Generator memiliki tag @faker.version
di atas implementasinya. Dari tag, Anda dapat mengidentifikasi versi generator yang ditambahkan:
# Faker::TvShows::ParksAndRec.character
# @faker.version 1.9.0
def character
fetch ( 'parks_and_rec.characters' )
end
Memastikan nilai-nilai unik
Untuk memastikan Faker menghasilkan nilai unik, awali pemanggilan metode Anda dengan unique
:
Faker :: Name . unique . name # This will return a unique name every time it is called
Jika terlalu banyak nilai unik yang diminta dari generator yang memiliki jumlah nilai potensial terbatas, pengecualian Faker::UniqueGenerator::RetryLimitExceeded
dapat dimunculkan. Dimungkinkan untuk menghapus catatan nilai unik yang telah dikembalikan, misalnya di antara pengujian.
Faker :: Name . unique . clear # Clears used values for Faker::Name
Faker :: UniqueGenerator . clear # Clears used values for all generators
Anda juga dapat memberikan beberapa nilai yang sudah digunakan ke generator unik jika Anda mengalami benturan dengan data yang dihasilkan (yaitu: menggunakan FactoryBot dengan nilai acak dan ditetapkan secara manual).
# Usage:
# Faker::.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 ]
Acak deterministik
Faker mendukung penyemaian generator nomor pseudo-acak (PRNG) untuk memberikan keluaran deterministik dari pemanggilan metode berulang.
"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"">
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"
Kustomisasi
Anda mungkin ingin Faker mencetak informasi tergantung pada lokasi Anda di dunia. Untuk membantu Anda dalam hal ini, Faker menggunakan permata I18n
untuk menyimpan string dan format untuk mewakili nama dan kode pos area yang Anda pilih.
Cukup atur lokal yang Anda inginkan seperti yang ditunjukkan di bawah ini, dan Faker akan mengurus sisanya.
Faker :: Config . locale = 'es'
# or
Faker :: Config . locale = :es
Untuk mengganti lokal Faker, dan mengaturnya pada lingkungan server berulir, periksa lokal README.
Minitest dan Faker >= 2.22
Untuk mencegah Faker (versi >= 2.22) menghasilkan nilai duplikat saat menggunakan Minitest, Anda mungkin perlu menambahkan yang berikut ke file test_helper.rb
atau rails_helper.rb
:
Faker :: Config . random = Random . new
Lihat Edisi #2534 untuk rincian lebih lanjut.
Generator
Ini adalah daftar lengkap generator yang tersedia dengan permata ini. Jika Anda memerlukan detail tentang salah satunya, pastikan untuk membaca dokumentasinya.
CATATAN: Beberapa generator di bawah ini belum dirilis. Jika Anda ingin menggunakannya, ubah baris di gemfile Anda menjadi:
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
Bawaan
- Pemalsu::Alamat
- Pemalsu::Alfanumerik
- Pemalsu :: Kuno
- Pemalsu :: Aplikasi
- Pemalsu :: Peralatan
- Pemalsu :: Artis
- Pemalsu::Avatar
- Pemalsu::Bank
- Pemalsu::Kode Batang
- Pemalsu :: Bir
- Pemalsu :: Darah
- Pemalsu::Boolean
- Pemalsu::BossaNova
- Pemalsu::Bisnis
- Pemalsu :: Kamera
- Pemalsu :: Ganja
- Pemalsu::ChileRut
- Pemalsu::ChuckNorris
- Pemalsu::Kode
- Pemalsu::Kopi
- Pemalsu::Koin
- Pemalsu::Warna
- Pemalsu :: Perdagangan
- Pemalsu::Perusahaan
- Pemalsu::Kompas
- Pemalsu :: Komputer
- Pemalsu::Konstruksi
- Pemalsu::Kosmere
- Pemalsu :: Kripto
- Pemalsu::CryptoCoin
- Pemalsu::Mata uang
- Pemalsu::Tanggal
- Pemalsu::DcComics
- Pemalsu::Demografis
- Pemalsu::Makanan penutup
- Pemalsu::Perangkat
- Faker::Surat Izin Mengemudi
- Pemalsu :: Drone
- Pemalsu::Pendidik
- Faker::Komponen Listrik
- Pemalsu :: Emosi
- Pemalsu::Esport
- Pemalsu::File
- Pemalsu :: Keuangan
- Pemalsu::Makanan
- Pemalsu::Nama Lucu
- Pemalsu::Jenis Kelamin
- Faker :: Filsuf Yunani
- Pemalsu :: Peretas
- Pemalsu :: Hipster
- Pemalsu :: Hobi
- Pemalsu :: Rumah
- Pemalsu::Nomor Id
- Faker::Segmen Industri
- Pemalsu::Internet
- Pemalsu :: Faktur
- Pemalsu :: Pekerjaan
- Pemalsu::Json
- Pemalsu::Kpop
- Pemalsu::Lorem
- Pemalsu::LoremFlickr
- Pemalsu :: Penurunan harga
- Pemalsu::Pemasaran
- Pemalsu::Pengukuran
- Pemalsu::Militer
- Pemalsu::Gunung
- Pemalsu :: Nama
- Pemalsu :: Bangsa
- Pemalsu::NatoPhoneticAlphabet
- Faker::Layanan Kesehatan Nasional
- Pemalsu::Nomor
- Pemalsu :: Omniauth
- Pemalsu::Nomor Telepon
- Pemalsu::Placeholdit
- Faker::Bahasa Pemrograman
- Pemalsu::Hubungan
- Pemalsu::Restoran
- Pemalsu :: Sains
- Pemalsu::SlackEmoji
- Pemalsu::Sumber
- Faker::Afrika Selatan
- Pemalsu::Ruang
- Pemalsu::String
- Pemalsu::Garis
- Pemalsu :: Berlangganan
- Pemalsu :: Pahlawan Super
- Pemalsu::Teh
- Pemalsu::Tim
- Pemalsu :: Teater
- Pemalsu :: Waktu
- Pemalsu::Twitter
- Pemalsu::Jenis
- Pemalsu :: Universitas
- Pemalsu::Kendaraan
- Pemalsu :: Kata kerja
- Faker::VulnerabilityIdentifier
- Faker::Piala Dunia
Blockchain
- Pemalsu::Blockchain::Keabadian
- Pemalsu::Blockchain::Bitcoin
- Pemalsu::Blockchain::Ethereum
- Pemalsu::Blockchain::Tezos
Buku
- Pemalsu :: Buku
- Faker::Buku::Seri Budaya
- Pemalsu::Buku::Dune
- Pemalsu::Buku::Lovecraft
- Faker::Buku::TheKingkillerChronicle
Fantasi
- Pemalsu::Fantasi::Tolkien
Bepergian
- Faker:Perjalanan::Bandara
- Faker:Perjalanan::Stasiun Kereta
Makhluk
- Faker::Makhluk::Hewan
- Faker::Makhluk::Burung
- Faker::Makhluk::Kucing
- Pemalsu::Makhluk::Anjing
- Faker::Makhluk::Kuda
Pertandingan
- Pemalsu :: Permainan
- Faker::Game::ClashOfClans
- Pemalsu::Permainan::DnD
- Pemalsu::Permainan::Dota
- Faker::Games::ElderScrolls
- Pemalsu::Permainan::Kejatuhan
- Faker::Permainan::FinalFantasyXIV
- Pemalsu::Permainan::Setengah Hidup
- Faker::Game::Pahlawan
- Faker::Games::HeroesOfTheStorm
- Faker::Permainan::LeagueOfLegends
- Pemalsu::Permainan::Minecraft
- Faker::Game::Mis
- Pemalsu::Permainan::Overwatch
- Pemalsu::Permainan::Pokemon
- Pemalsu::Game::SonicTheHedgehog
- Faker::Game::StreetFighter
- Pemalsu::Permainan::SuperMario
- Pemalsu::Game::SuperSmashBros
- Pemalsu::Permainan::Touhou
- Faker::Games::WarhammerFantasy
- Pemalsu::Permainan::Penyihir
- Pemalsu::Game::WorldOfWarcraft
- Pemalsu::Permainan::Zelda
Media Jepang
- Faker::JapaneseMedia::CowboyBebop
- Faker::JapaneseMedia::DragonBall
- Faker::JapaneseMedia::OnePiece
- Faker::JapaneseMedia::StudioGhibli
- Faker::JapaneseMedia::SwordArtOnline
- Faker::JapaneseMedia::Naruto
- Faker::JapaneseMedia::Doraemon
- Faker::JapaneseMedia::Conan
- Faker::JapaneseMedia::FullmetalAlchemist Brotherhood
Film
- Pemalsu::Film
- Pemalsu::Film::Avatar
- Faker::Film::KembaliKeMasa Depan
- Faker::Film::Berangkat
- Faker::Film::Ghostbusters
- Pemalsu::Film::HarryPotter
- Faker::Film::HitchhikersGuideToTheGalaxy
- Pemalsu::Film::Hobbit
- Faker::Film::Cara Melatih Nagamu
- Faker::Film::Lebowski
- Faker::Film::LordOfTheRings
- Faker::Film::PrincessBride
- Faker::Film::StarWars
- Pemalsu::Film::TRON
- Faker::Film::VForVendetta
Musik
- Pemalsu :: Musik
- Faker::Musik::GratefulDead
- Pemalsu::Musik::Hiphop
- Pemalsu::Musik::Opera
- Faker::Musik::PearlJam
- Pemalsu::Musik::Phish
- Faker::Musik::Pangeran
- Pemalsu::Musik::RockBand
- Pemalsu::Musik::Terburu-buru
- Faker::Musik::SmashingPumpkins
- Faker::Musik::UmphreysMcgee
Kutipan
- Pemalsu::Kutipan
- Pemalsu::Kutipan::Chiquito
- Pemalsu::Kutipan::Rajnikanth
- Pemalsu::Kutipan::Shakespeare
Olahraga
- Pemalsu::Olahraga
- Faker::Olahraga::Bola Basket
- Faker::Olahraga::Catur
- Faker::Olahraga::Sepak Bola
- Faker::Olahraga::Pendakian gunung
- Faker::Olahraga::Bola Voli
Acara TV
- Faker::Acara TV::AquaTeenHungerForce
- Faker::Acara TV::Archer
- Faker::Acara TV::Teori BigBang
- Faker::Acara TV::BojackHorseman
- Faker::Acara TV::BreakingBad
- Faker::Acara TV::BrooklynNineNine
- Faker::Acara TV::Buffy
- Faker::Acara TV::Komunitas
- Faker::Acara TV::DrWho
- Faker::Acara TV::DumbAndDumber
- Faker::Acara TV::FamilyGuy
- Faker::Acara TV::FinalSpace
- Faker::Acara TV::Teman
- Faker::Acara TV::GameOfThrones
- Faker::Acara TV::HeiArnold
- Faker::Acara TV::HowIMetYourMother
- Faker::Acara TV::MichaelScott
- Faker::Acara TV::NewGirl
- Faker::Acara TV::ParksAndRec
- Faker::Acara TV::RickAndMorty
- Faker::Acara TV::RuPaul
- Faker::Acara TV::Seinfeld
- Faker::Acara TV::SiliconValley
- Faker::Acara TV::Simpsons
- Faker::Acara TV::SouthPark
- Faker::Acara TV::Spongebob
- Faker::Acara TV::StarTrek
- Faker::Acara TV::Stargate
- Faker::Acara TV::StrangerThings
- Faker::Acara TV::Setelan
- Faker::Acara TV::Supernatural
- Faker::Acara TV::TheExpanse
- Faker::Acara TV::TheFreshPrinceOfBelAir
- Faker::Acara TV::TheITCrowd
- Faker::Acara TV::TheThickOfIt
- Faker::Acara TV::TwinPeaks
- Faker::Acara TV::VentureBros
Lokasi
Berkontribusi
Catatan : Kami tidak menerima proposal untuk generator dan lokal baru. Panduan Berkontribusi memiliki beberapa catatan tentang keputusan ini.
Lihat dokumen Berkontribusi untuk petunjuk tentang menyiapkan repo di mesin Anda, membuka laporan bug, memahami basis kode, dan membuat permintaan penarikan yang baik.
Ada saluran Discord untuk mendiskusikan apa pun mengenai peningkatan atau permintaan fitur.
Terima kasih, kontributor!
Pembuatan versi
Faker mengikuti Semantic Versioning 2.0 sebagaimana didefinisikan di https://semver.org.
Lisensi
Kode ini bebas digunakan berdasarkan ketentuan lisensi MIT.