Faker es una adaptación de la biblioteca Data::Faker de Perl. Es una biblioteca para generar datos falsos como nombres, direcciones y números de teléfono.
Faker lo ayuda a generar datos de prueba realistas y a completar su base de datos con más de un par de registros mientras realiza el desarrollo.
Resulta muy útil para tomar capturas de pantalla (tomar capturas de pantalla para un proyecto personal) y fue el impulso original para la creación de esta joya.
Enlaces rápidos
- Lea la documentación para la última versión.
- ? Vea lo que ha cambiado en las versiones recientes.
en los medios
- ? Un gran humor conlleva un gran compromiso de los desarrolladores - Investigación del KTH Royal Institute of Technology
- Computer und Kommunikation 4.5.2024, komplette Sendung - Entrevista en Deutschland Funk Radio
Tabla de contenido
- farsante
- Enlaces rápidos
- Tabla de contenido
- Empezando
- Uso
- Una nota sobre las versiones de Generadores
- Garantizar valores únicos
- Aleatorio determinista
- Personalización
- Minitest y Faker >= 2.22
- Generadores
- Contribuyendo
- Versionado
- Licencia
Notas
- Si bien Faker genera datos al azar, no se garantiza que los valores devueltos sean únicos de forma predeterminada. Para especificar explícitamente cuándo necesita valores únicos, consulte Cómo garantizar valores únicos. Los valores también pueden ser deterministas si utiliza la función determinista, consulte Aleatorio determinista.
- Esta es la rama
main
de Faker y puede contener cambios que aún no se han publicado. Consulte el archivo README de su versión para conocer los métodos disponibles. La lista de todas las versiones está disponible aquí.
Empezando
Comience incluyendo faker
en su Gemfile:
Luego ejecute bundle install
.
Uso
A continuación se muestran algunos ejemplos de cómo utilizar 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"
Para obtener una lista completa de los generadores, consulte Generadores.
Una nota sobre las versiones de Generadores
Si obtiene un error uninitialized constant Faker::[some_class]
, su versión de la gema está detrás de main.
Para asegurarse de que su gema sea la que está documentada aquí, cambie la línea en su Gemfile a:
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
Los generadores tienen la etiqueta @faker.version
encima de su implementación. A partir de las etiquetas, puede identificar la versión en la que se agregó el generador:
# Faker::TvShows::ParksAndRec.character
# @faker.version 1.9.0
def character
fetch ( 'parks_and_rec.characters' )
end
Garantizar valores únicos
Para garantizar que Faker genere valores únicos, prefije la llamada a su método con unique
:
Faker :: Name . unique . name # This will return a unique name every time it is called
Si se solicitan demasiados valores únicos de un generador que tiene un número limitado de valores potenciales, se puede generar una excepción Faker::UniqueGenerator::RetryLimitExceeded
. Es posible borrar el registro de valores únicos que se han devuelto, por ejemplo entre pruebas.
Faker :: Name . unique . clear # Clears used values for Faker::Name
Faker :: UniqueGenerator . clear # Clears used values for all generators
También puede proporcionar algunos valores ya utilizados al generador único si tiene colisiones con los datos generados (es decir, usar FactoryBot con valores aleatorios y configurados manualmente).
# 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 ]
Aleatorio determinista
Faker admite la siembra de su generador de números pseudoaleatorios (PRNG) para proporcionar resultados deterministas de llamadas repetidas a métodos.
"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"
Personalización
Es posible que desee que Faker imprima información según su ubicación en el mundo. Para ayudarle con esto, Faker utiliza la gema I18n
para almacenar cadenas y formatos para representar los nombres y códigos postales del área que elija.
Simplemente configure la configuración regional que desee como se muestra a continuación y Faker se encargará del resto.
Faker :: Config . locale = 'es'
# or
Faker :: Config . locale = :es
Para anular las configuraciones regionales de Faker y configurarlas en entornos de servidores con subprocesos, consulte las configuraciones regionales README.
Minitest y Faker >= 2.22
Para evitar que Faker (versión >= 2.22) genere valores duplicados al usar Minitest, es posible que deba agregar lo siguiente al archivo test_helper.rb
o rails_helper.rb
:
Faker :: Config . random = Random . new
Consulte el número 2534 para obtener más detalles.
Generadores
Esta es la lista completa de generadores disponibles con esta joya. Si necesita detalles sobre alguno de ellos, asegúrese de consultar la documentación.
NOTA: Algunos de los generadores a continuación aún no se han lanzado. Si desea usarlos, cambie la línea en su archivo gema a:
gem 'faker' , :git => 'https://github.com/faker-ruby/faker.git' , :branch => 'main'
Por defecto
- Falsificador::Dirección
- Falsificador::Alfanumérico
- Falsificador::Antiguo
- Faker::Aplicación
- Falsificador::Electrodomésticos
- Falsificador::Artista
- Farsante::Avatar
- Farsante::Banco
- Falsificador::Código de barras
- Falso::Cerveza
- Farsante::Sangre
- Falsificador::Booleano
- Faker::BossaNova
- Falsificador::Negocios
- Falsificador::Cámara
- Falsificador::Cannabis
- Faker::ChileRut
- Falso::ChuckNorris
- Falsificador::Código
- Falsificador::Café
- Falsificador::Moneda
- Falsificador::Color
- Faker::Comercio
- Falsificador::Compañía
- Faker::Brújula
- Farsante::Computadora
- Falsificador::Construcción
- Faker::Cosmere
- Falsificador::Cripto
- Faker::Criptomonedas
- Falsificador::Moneda
- Falsificador::Fecha
- Faker::DcComics
- Faker::Demográfico
- Falsario::Postre
- Falsificador::Dispositivo
- Faker::Permiso de conducir
- Falsificador::Dron
- Farsante::Educador
- Faker::Componentes Eléctricos
- Farsante::Emoción
- Faker::Esport
- Falsificador::Archivo
- Falsificador::Finanzas
- Farsante::Comida
- Faker::NombreGracioso
- Farsante::Género
- Faker::Filósofos griegos
- Falsificador::Hacker
- Falsario::Hipster
- Farsante::Hobby
- Farsante::Casa
- Faker::NúmeroId
- Faker::Segmentos de la Industria
- Farsante::Internet
- Falsificador::Factura
- Farsante::Trabajo
- Falso::Json
- Falso::Kpop
- Falso::Lorem
- Falso::LoremFlickr
- Falsificador::Rebaja
- Falsificador::Marketing
- Falsificador::Medición
- Falsificador::Militar
- Falsario::Montaña
- Farsante::Nombre
- Farsante::Nación
- Faker::Alfabeto Natofonético
- Faker::Servicio Nacional de Salud
- Falsificador::Número
- Faker::Omniauth
- Faker::Número de teléfono
- Faker::Holdit de posición
- Faker::Lenguaje de programación
- Farsante::Relación
- Falso::Restaurante
- Falsificador::Ciencia
- Falsificador::SlackEmoji
- Falsificador::Fuente
- Faker::Sudáfrica
- Falsificador::Espacio
- Falsificador::Cadena
- Falsificador::Raya
- Faker::Suscripción
- Farsante::Superhéroe
- Falsario::Té
- Farsante::Equipo
- Farsante::Teatro
- Falso::Tiempo
- Falso::Twitter
- Falsificador::Tipos
- Faker::Universidad
- Falsificador::Vehículo
- Falsario::Verbos
- Faker::Identificador de vulnerabilidad
- Faker::Copa del Mundo
cadena de bloques
- Faker::Blockchain::Aeternidad
- Falsificador::Blockchain::Bitcoin
- Falsificador::Blockchain::Ethereum
- Faker::Blockchain::Tezos
Libros
- Farsante::Libro
- Faker::Libros::CulturaSeries
- Faker::Libros::Dune
- Faker::Libros::Lovecraft
- Faker::Libros::TheKingkillerChronicle
Fantasía
Viajar
- Faker:Viajes::Aeropuerto
- Faker:Viajes::Estación de tren
Criatura
- Falsificador::Criatura::Animal
- Falsificador::Criatura::Pájaro
- Faker::Criatura::Gato
- Farsante::Criatura::Perro
- Faker::Criatura::Caballo
Juegos
- Falso::Juego
- Faker::Juegos::ClashOfClans
- Faker::Juegos::DnD
- Faker::Juegos::Dota
- Faker::Juegos::ElderScrolls
- Faker::Juegos::Fallout
- Faker::Juegos::FinalFantasyXIV
- Faker::Juegos::HalfLife
- Faker::Juegos::Héroes
- Faker::Juegos::HeroesOfTheStorm
- Faker::Juegos::LeagueOfLegends
- Faker::Juegos::Minecraft
- Faker::Juegos::Myst
- Faker::Juegos::Overwatch
- Faker::Juegos::Pokémon
- Faker::Juegos::SonicTheHedgehog
- Faker::Juegos::StreetFighter
- Faker::Juegos::SuperMario
- Faker::Juegos::SuperSmashBros
- Faker::Juegos::Touhou
- Faker::Juegos::WarhammerFantasía
- Faker::Juegos::Witcher
- Faker::Juegos::WorldOfWarcraft
- Faker::Juegos::Zelda
Medios japoneses
- Faker::JapaneseMedia::CowboyBebop
- Faker::Medios japoneses::DragonBall
- Faker::Medios japoneses::One Piece
- Faker::Medios japoneses::StudioGhibli
- Faker::JapaneseMedia::SwordArtOnline
- Faker::Medios japoneses::Naruto
- Faker::Medios japoneses::Doraemon
- Faker::Medios japoneses::Conan
- Faker::Medios japoneses::FullmetalAlchemistBrotherhood
Cine
- Farsante::Película
- Faker::Películas::Avatar
- Faker::Películas::RegresoAlFuturo
- Faker::Películas::Partidos
- Faker::Películas::Cazafantasmas
- Faker::Películas::HarryPotter
- Faker::Películas::Guía De Autoestopistas A La Galaxia
- Faker::Películas::Hobbit
- Faker::Películas::Cómo entrenar a tu dragón
- Faker::Películas::Lebowski
- Faker::Películas::El Señor De Los Anillos
- Faker::Películas::PrincesaNovia
- Faker::Películas::StarWars
- Faker::Películas::TRON
- Faker::Películas::VForVendetta
Música
- Falso::Música
- Faker::Música::GratefulDead
- Faker::Música::Hiphop
- Faker::Música::Ópera
- Faker::Música::PearlJam
- Faker::Música::Phish
- Faker::Música::Príncipe
- Faker::Música::RockBand
- Faker::Música::Rush
- Faker::Música::SmashingPumpkins
- Faker::Música::UmphreysMcgee
Citas
- Falsario::Cita
- Faker::Frases::Chiquito
- Faker::Citas::Rajnikanth
- Faker::Citas::Shakespeare
Deportes
- Falso::Deporte
- Faker::Deportes::Baloncesto
- Faker::Deportes::Ajedrez
- Faker::Deportes::Fútbol
- Faker::Deportes::Montañismo
- Faker::Deportes::Voleibol
Programas de televisión
- Faker::Programas De Televisión::AquaTeenHungerForce
- Faker::Programas De Televisión::Archer
- Faker::Programas de televisión::BigBangTheory
- Faker::Programas de televisión::BojackHorseman
- Faker::Programas De Televisión::BreakingBad
- Faker::Programas De Televisión::BrooklynNueveNueve
- Faker::Programas De Televisión::Buffy
- Faker::Programas De Televisión::Comunidad
- Faker::Programas De Televisión::DrWho
- Faker::TvShows::DumbAndDumber
- Faker::Programas De Televisión::Padre De Familia
- Faker::TvShows::FinalSpace
- Faker::Programas De Televisión::Amigos
- Faker::Programas De Televisión::Juego De Tronos
- Faker::Programas De Televisión::HeyArnold
- Faker::Programas De Televisión::Cómo Conocí A Tu Madre
- Faker::Programas de televisión::MichaelScott
- Faker::TvShows::NuevaChica
- Faker::TvShows::ParksAndRec
- Faker::Programas De Televisión::RickAndMorty
- Faker::Programas de televisión::RuPaul
- Faker::Programas De Televisión::Seinfeld
- Faker::Programas de televisión::SiliconValley
- Faker::Programas De Televisión::Los Simpson
- Faker::Programas De Televisión::SouthPark
- Faker::Programas De Televisión::Bob Esponja
- Faker::Programas de televisión::StarTrek
- Faker::Programas De Televisión::Stargate
- Faker::Programas De Televisión::StrangerThings
- Faker::Programas De Televisión::Trajes
- Faker::Programas De Televisión::Sobrenatural
- Faker::TvShows::TheExpanse
- Faker::Programas De Televisión::ElPríncipeFreshDeBelAir
- Faker::TvShows::TheITCrowd
- Faker::TvShows::TheThickOfIt
- Faker::Programas de televisión::TwinPeaks
- Faker::Programas de televisión::VentureBros
Ubicaciones
- Faker::Ubicaciones::Australia
Contribuyendo
Nota : No aceptamos propuestas para nuevos generadores y locales. La guía de contribución tiene algunas notas sobre esta decisión.
Eche un vistazo al documento de contribución para obtener instrucciones sobre cómo configurar el repositorio en su máquina, abrir informes de errores, comprender el código base y crear una buena solicitud de extracción.
Hay un canal de Discord para discutir cualquier tema relacionado con mejoras o solicitudes de funciones.
¡Gracias colaboradores!
Versionado
Faker sigue Semantic Versioning 2.0 como se define en https://semver.org.
Licencia
Este código es de uso gratuito según los términos de la licencia MIT.