Faker est un portage de la bibliothèque Data::Faker de Perl. Il s'agit d'une bibliothèque permettant de générer de fausses données telles que des noms, des adresses et des numéros de téléphone.
Faker vous aide à générer des données de test réalistes et à remplir votre base de données avec plus de quelques enregistrements pendant que vous effectuez le développement.
Il est très pratique pour prendre des captures d'écran (prendre des captures d'écran pour un projet personnel) et c'est ce qui a motivé la création de ce joyau.
Liens rapides
- Lisez la documentation pour la dernière version.
- ? Découvrez ce qui a changé dans les versions récentes.
Dans les médias
- ? Qui dit grand humour dit grand engagement des développeurs - Recherche du KTH Royal Institute of Technology
- Computer und Kommunikation 4.5.2024, envoi complet - Deutschland Funk Radio Interview
Table des matières
- Plus faux
- Liens rapides
- Table des matières
- Commencer
- Usage
- Une note sur les versions des générateurs
- Garantir des valeurs uniques
- Aléatoire déterministe
- Personnalisation
- Minitest et Faker >= 2,22
- Générateurs
- Contribuer
- Gestion des versions
- Licence
Remarques
- Bien que Faker génère des données de manière aléatoire, il n'est pas garanti que les valeurs renvoyées soient uniques par défaut. Pour spécifier explicitement quand vous avez besoin de valeurs uniques, consultez Garantir des valeurs uniques. Les valeurs peuvent également être déterministes si vous utilisez la fonctionnalité déterministe, voir Aléatoire déterministe
- Il s'agit de la branche
main
de Faker et peut contenir des modifications qui n'ont pas encore été publiées. Veuillez vous référer au README de votre version pour les méthodes disponibles. La liste de toutes les versions est disponible ici.
Commencer
Commencez par inclure faker
dans votre Gemfile :
Ensuite, exécutez bundle install
.
Usage
Voici quelques exemples d’utilisation de 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"
Pour une liste complète des générateurs, voir Générateurs.
Une note sur les versions des générateurs
Si vous obtenez une erreur uninitialized constant Faker::[some_class]
, votre version de la gemme est en retard sur main.
Pour vous assurer que votre gem est celle documentée ici, modifiez la ligne de votre Gemfile par :
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
Les générateurs ont la balise @faker.version
en plus de leur implémentation. À partir des balises, vous pouvez identifier la version dans laquelle le générateur a été ajouté :
# Faker::TvShows::ParksAndRec.character
# @faker.version 1.9.0
def character
fetch ( 'parks_and_rec.characters' )
end
Garantir des valeurs uniques
Pour vous assurer que Faker génère des valeurs uniques, préfixez votre appel de méthode avec unique
:
Faker :: Name . unique . name # This will return a unique name every time it is called
Si trop de valeurs uniques sont demandées à un générateur qui a un nombre limité de valeurs potentielles, une exception Faker::UniqueGenerator::RetryLimitExceeded
peut être déclenchée. Il est possible d'effacer l'enregistrement des valeurs uniques renvoyées, par exemple entre des tests.
Faker :: Name . unique . clear # Clears used values for Faker::Name
Faker :: UniqueGenerator . clear # Clears used values for all generators
Vous pouvez également donner certaines valeurs déjà utilisées au générateur unique si vous rencontrez des collisions avec les données générées (par exemple : utilisation de FactoryBot avec des valeurs aléatoires et définies manuellement).
# 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 ]
Aléatoire déterministe
Faker prend en charge l'amorçage de son générateur de nombres pseudo-aléatoires (PRNG) pour fournir une sortie déterministe d'appels de méthode répétés.
"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"
Personnalisation
Vous souhaiterez peut-être que Faker imprime des informations en fonction de votre emplacement dans le monde. Pour vous aider, Faker utilise la gemme I18n
pour stocker des chaînes et des formats pour représenter les noms et codes postaux de la zone de votre choix.
Définissez simplement les paramètres régionaux souhaités comme indiqué ci-dessous et Faker s'occupera du reste.
Faker :: Config . locale = 'es'
# or
Faker :: Config . locale = :es
Pour remplacer les paramètres régionaux de Faker et le définir sur des environnements de serveur threadés, consultez le fichier README des paramètres régionaux.
Minitest et Faker >= 2,22
Pour empêcher Faker (version >= 2.22) de générer des valeurs en double lors de l'utilisation de Minitest, vous devrez peut-être ajouter ce qui suit au fichier test_helper.rb
ou rails_helper.rb
:
Faker :: Config . random = Random . new
Voir le numéro 2534 pour plus de détails.
Générateurs
Voici la liste complète des générateurs disponibles avec ce joyau. Si vous avez besoin de détails sur l’un d’entre eux, assurez-vous de consulter la documentation.
REMARQUE : Certains des générateurs ci-dessous ne sont pas encore publiés. Si vous souhaitez les utiliser, modifiez la ligne de votre gemfile par :
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
Défaut
- Faker : Adresse
- Faker::Alphanumérique
- Faker : Ancien
- Faker ::Application
- Faker : Appareil
- Faker : Artiste
- Faker : Avatar
- Faker : Banque
- Faker : Code à barres
- Faker : Bière
- Faker : Sang
- Faker ::Booléen
- Faker :: BossaNova
- Faker : Affaires
- Faker : Caméra
- Faker : Cannabis
- Faker ::ChileRut
- Faker ::ChuckNorris
- Faker ::Code
- Faker : Café
- Faker ::Pièce de monnaie
- Faker :: Couleur
- Faker : Commerce
- Faker : Société
- Faker : Boussole
- Faker : Ordinateur
- Faker : Construction
- Faker : Cosmere
- Faker ::Crypto
- Faker ::CryptoCoin
- Faker : Monnaie
- Faker : Date
- Faker ::DcComics
- Faker : Démographique
- Faker : Dessert
- Faker : Appareil
- Faker ::Permis de conduire
- Faker : Drone
- Faker : Éducateur
- Faker : Composants électriques
- Faker : Émotion
- Faker : Esport
- Faker : Fichier
- Faker : Finances
- Faker : Nourriture
- Faker ::FunnyName
- Faker : Gender
- Faker::Philosophes grecs
- Faker : Hacker
- Faker : Hipster
- Faker : Hobby
- Faker::Maison
- Faker : IdNumber
- Faker ::Segments de l'industrie
- Faker : Internet
- Faker : Facture
- Faker : Job
- Faker ::Json
- Faker ::Kpop
- Faker :: Lorem
- Faker :: LoremFlickr
- Faker ::Marquage
- Faker : Marketing
- Faker : Mesure
- Faker : Militaire
- Faker : Montagne
- Faker : Nom
- Faker : Nation
- Faker ::Alphabet phonétique de l'OTAN
- Faker : NationalHealthService
- Faker : Numéro
- Faker ::Omniauth
- Faker ::Numéro de téléphone
- Faker : Placeholdit
- Faker ::Langage de programmation
- Faker : Relation
- Faker : Restaurant
- Faker : Science
- Faker::SlackEmoji
- Faker : Source
- Faker : Afrique du Sud
- Faker : Espace
- Faker ::Chaîne
- Faker : Stripe
- Faker : Abonnement
- Faker ::Super-héros
- Faker : Thé
- Faker : Équipe
- Faker : Théâtre
- Faker :: Temps
- Faker ::Twitter
- Faux ::Types
- Faker : Université
- Faker : Véhicule
- Faker ::Verbes
- Faker : VulnerabilityIdentifier
- Faker : Coupe du monde
Chaîne de blocs
- Faker :: Blockchain :: Éternité
- Faker :: Blockchain :: Bitcoin
- Faker :: Blockchain :: Ethereum
- Faker :: Blockchain :: Tezos
Livres
- Faker :: Livre
- Faker :: Livres :: CultureSeries
- Faker :: Livres :: Dune
- Faker :: Livres :: Lovecraft
- Faker :: Livres :: TheKingkillerChronicle
Fantaisie
- Faker :: Fantastique :: Tolkien
Voyage
- Faker:Voyage::Aéroport
- Faker:Voyage::TrainStation
Créature
- Faker :: Créature :: Animal
- Faker :: Créature :: Oiseau
- Faker :: Créature :: Chat
- Faker :: Créature :: Chien
- Faker :: Créature :: Cheval
Jeux
- Faker : Jeu
- Faker :: Jeux :: ClashOfClans
- Faker :: Jeux :: DnD
- Faker :: Jeux :: Dota
- Faker :: Jeux :: ElderScrolls
- Faker :: Jeux :: Fallout
- Faker :: Jeux :: FinalFantasyXIV
- Faker :: Jeux :: HalfLife
- Faker::Jeux::Héros
- Faker :: Jeux :: HeroesOfTheStorm
- Faker :: Jeux :: LeagueOfLegends
- Faker :: Jeux :: Minecraft
- Faker :: Jeux :: Myst
- Faker :: Jeux :: Overwatch
- Faker :: Jeux :: Pokémon
- Faker :: Jeux :: SonicTheHedgehog
- Faker :: Jeux :: StreetFighter
- Faker :: Jeux :: SuperMario
- Faker :: Jeux :: SuperSmashBros
- Faker :: Jeux :: Touhou
- Faker :: Jeux :: WarhammerFantasy
- Faker :: Jeux :: Sorceleur
- Faker :: Jeux :: WorldOfWarcraft
- Faker :: Jeux :: Zelda
Médias japonais
- Faker ::JapaneseMedia ::CowboyBebop
- Faker ::JapaneseMedia ::DragonBall
- Faker::JapaneseMedia::OnePièce
- Faker ::JapaneseMedia ::StudioGhibli
- Faker ::JapaneseMedia ::SwordArtOnline
- Faker ::JapaneseMedia ::Naruto
- Faker ::JapaneseMedia ::Doraemon
- Faker ::JapaneseMedia ::Conan
- Faker ::JapaneseMedia ::FullmetalAlchemistBrotherhood
Films
- Faker : Film
- Faker :: Films :: Avatar
- Faker :: Films :: Retour vers le futur
- Faker :: Films :: Parti
- Faker::Films::SOS Fantômes
- Faker :: Films :: HarryPotter
- Faker :: Films :: Auto-stoppeursGuideToTheGalaxy
- Faker :: Films :: Hobbit
- Faker :: Films :: Comment entraîner votre dragon
- Faker :: Films :: Lebowski
- Faker :: Films :: LordOfTheRings
- Faker :: Films :: PrincessBride
- Faker :: Films :: StarWars
- Faker :: Films :: TRON
- Faker :: Films :: VForVendetta
Musique
- Faker : Musique
- Faker :: Musique :: GratefulDead
- Faker :: Musique :: Hiphop
- Faker::Musique::Opéra
- Faker :: Musique :: PearlJam
- Faker::Musique::Phish
- Faker :: Musique :: Prince
- Faker :: Musique :: RockBand
- Faker :: Musique :: Rush
- Faker :: Musique :: SmashingPumpkins
- Faker :: Musique :: UmphreysMcgee
Citations
- Faker : Citation
- Faker :: Citations :: Chiquito
- Faker :: Citations :: Rajnikanth
- Faker :: Citations :: Shakespeare
Sportif
- Faker : Sport
- Faker :: Sports :: Basket-ball
- Faker::Sports::Échecs
- Faker::Sports::Football
- Faker::Sports::Alpinisme
- Faker::Sports::Volley-ball
Émissions de télévision
- Faker :: Séries TV :: AquaTeenHungerForce
- Faker :: Émissions de télévision :: Archer
- Faker :: Séries TV :: BigBangTheory
- Faker :: Séries TV :: BojackHorseman
- Faker : TvShows : BreakingBad
- Faker :: Séries TV :: BrooklynNineNine
- Faker :: Séries TV :: Buffy
- Faker :: TVShows :: Communauté
- Faker : TvShows : DrWho
- Faker :: TVShows :: DumbAndDumber
- Faker :: Émissions de télévision :: FamilyGuy
- Faker :: TVShows :: FinalSpace
- Faker::TvShows::Amis
- Faker : TvShows : GameOfThrones
- Faker :: Séries TV :: HeyArnold
- Faker : TvShows : HowIMetYourMother
- Faker :: Émissions de télévision :: MichaelScott
- Faker :: Séries TV :: NewGirl
- Faker :: TVShows :: ParksAndRec
- Faker :: Séries TV :: RickAndMorty
- Faker :: Émissions de télévision :: RuPaul
- Faker :: Séries TV :: Seinfeld
- Faker :: Séries TV :: SiliconValley
- Faker :: Séries TV :: Simpsons
- Faker :: Séries TV :: SouthPark
- Faker :: Séries TV :: Bob l'éponge
- Faker :: Séries TV :: StarTrek
- Faker :: TVShows :: Stargate
- Faker : TvShows : StrangerThings
- Faker :: Séries TV :: Costumes
- Faker : TvShows : Surnaturel
- Faker :: TVShows :: TheExpanse
- Faker :: TVShows :: TheFreshPrinceOfBelAir
- Faker : TvShows : TheITCrowd
- Faker :: TVShows :: TheThickOfIt
- Faker : TvShows : TwinPeaks
- Faker :: TVShows :: VentureBros
Emplacements
- Faker :: Emplacements :: Australie
Contribuer
Remarque : Nous n'acceptons pas les propositions de nouveaux générateurs et paramètres régionaux. Le guide de contribution contient quelques notes sur cette décision.
Jetez un œil au document de contribution pour obtenir des instructions sur la configuration du dépôt sur votre machine, l'ouverture des rapports de bogues, la compréhension de la base de code et la création d'une bonne demande d'extraction.
Il existe un canal Discord pour discuter de tout ce qui concerne les améliorations ou les demandes de fonctionnalités.
Merci, contributeurs !
Gestion des versions
Faker suit Semantic Versioning 2.0 tel que défini sur https://semver.org.
Licence
Ce code est libre d'utilisation selon les termes de la licence MIT.