Genera datos falsos (casi) realistas para pruebas, demostraciones y para llenar tu base de datos durante el desarrollo.

Enlaces rápidos

Características

  • Internet: Direcciones de correo electrónico, contraseñas, dominios, etc.
  • Fecha y hora: Viaja al pasado o al futuro.
  • Persona: Nombres, géneros, biografías, títulos de trabajo y más.
  • Número y cadena: Números y cadenas aleatorias.
  • Ubicación: Direcciones, códigos postales, nombres de calles, estados y países.
  • Finanzas: Detalles de cuenta, transacciones y direcciones de criptomonedas.
  • Localización - Personaliza el falsificador con más de 40 localizaciones para generar nombres, direcciones y números de teléfono realistas.

Nota: Los nombres, direcciones, correos electrónicos, números de teléfono y/o otros datos generados pueden devolver información válida. Por favor, ten cuidado al usar falsa en tus pruebas.

Para una lista completa de los generadores, véase Generadores.

Empezando

Empieza incluyendo en tu archivo de gemas:faker

gem 'faker'
 

Luego corre.bundle install

Uso

require 'faker'

Faker::Name.name                      #=> "Christophe Bartell"
Faker::Internet.password              #=> "Vg5mSvY1UeRg7"
Faker::Internet.email                 #=> "eliza@mann.test"
Faker::Address.full_address           #=> "5479 William Way, East Sonnyhaven, LA 63637"
Faker::Markdown.emphasis              #=> "Quo qui aperiam. Amet corrupti distinctio. Sit quia *dolor.*"
Faker::Lorem.paragraph                #=> "Recusandae minima consequatur. Expedita sequi blanditiis. Ut fuga et."
Faker::Alphanumeric.alpha(number: 10) #=> "zlvubkrwga"
Faker::ProgrammingLanguage.name       #=> "Ruby"
 

Índice

Notes

  • While Faker generates data at random, returned values are not guaranteed to be unique by default. To explicitly specify when you require unique values, see Ensuring Unique Values.
  • Values also can be deterministic if you use the deterministic feature, see Deterministic Random.
  • This is the branch of Faker and may contain changes that are not yet released. The list of all versions is available here.main

Ensuring unique values

To ensure Faker generates unique values, prefix your method call with :unique

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

If too many unique values are requested from a generator that has a limited number of potential values, a exception may be raised. It is possible to clear the record of unique values that have been returned, for example between tests.Faker::UniqueGenerator::RetryLimitExceeded

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

You can also give some already-used values to the unique generator if you have collisions with the generated data (i.e., using FactoryBot with random and manually set values).

# 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]
 

Deterministic Random

Faker supports seeding of its pseudo-random number generator (PRNG) to provide deterministic output of repeated method calls.

Faker::Config.random = Random.new(42)
Faker::Lorem.word              #=> "velit"
Faker::Lorem.word              #=> "quisquam"

Faker::Config.random = Random.new(42)
Faker::Lorem.word              #=> "velit"
Faker::Lorem.word              #=> "quisquam"

Faker::Config.random = nil     # seeds the PRNG using default entropy sources
Faker::Config.random.seed      #=> 185180369676275068918401850258677722187
Faker::Lorem.word              #=> "ipsam"
 

Localización

Puede que quieras que Faker imprima información dependiendo de tu ubicación en el mundo. Para ayudarte en esto, Faker utiliza la gema para almacenar cadenas y formatos para Representa los nombres y códigos postales de la zona que elijas.I18n

Solo tienes que configurar la ubicación que quieres como se muestra abajo, y Faker se encargará del resto.

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

Para anular las localizaciones de Faker y configurarlas en entornos de servidor con hilos Consulta el README de los sitios.

Minitest y Faker >= 2,22

Para evitar que Faker (versión >= 2.22) genere valores duplicados al usar Minitest, Puede que necesites añadir lo siguiente al archivo de O:test_helper.rbrails_helper.rb

Faker::Config.random = Random.new
 

Generadores

Para ver la lista completa, consulta el documento GENERATORS.

Contribuciones

Nota: No aceptamos propuestas para nuevos generadores ni localizaciones. La guía de contribución contiene algunas notas sobre esta decisión.

Echa un vistazo al documento de Contribución para Instrucciones para configurar el repositorio en tu máquina, abrir informes de errores, entender la base de código, Y crear una buena solicitud de tirada.

Hay un canal de Discord para hablar de cualquier cosa En cuanto a mejoras o solicitudes de funcionalidades. Esto no es monitorizado activamente por los mantenedores actuales.

¡Gracias, colaboradores!

Versión

Faker sigue la Versionación Semántica 2.0 tal y como se define en https://semver.org.

Inspiración

Faker se inspiró en la biblioteca Data::Faker de Perl.

En los medios

Licencia

Este código es gratuito para usar bajo los términos de la licencia MIT. 

#UsoÉtico #DatosDePrueba #DesarrolloResponsable #FakerProject #FakerCommunity
#FakerRuby
#OpenSource #MIT #ComunidadDeRuby #AprendeConmigo #ProyectoDeCódigoAbierto 
#DatosDePrueba #DatosFicticios #DatosRealistas #GeneraciónDeDatosDePrueba

🚀 Si te mola la ciberseguridad y quieres subir de nivel rodeado de gente que está en lo mismo que tú… este es tu sitio.

🌐 Página Web Para Hacking Retos Ctf Y Labs:
https://www.hackingteamoficcial.uk/

💻 GitHub:
https://github.com/HackingTeamOficial

📲 Telegram:
https://t.me/PlantillasNucleiHackingTeam
https://t.me/HackingTeamGrupoOfficial
https://t.me/+0hHSaKO7eI9mNWY8 (Difusión)
https://t.me/+llcmNGzz6JIyMmI0 (Biblioteca)
https://t.me/TermuxHackingTeam

🐦 X (Twitter):
@HackingTeam77

🦋 Bluesky:
https://bsky.app/profile/hackingteam.bsky.social

💬 Discord:
https://discord.gg/V4nPFbQX

📘 Facebook:
https://www.facebook.com/groups/hackingteam2022/?ref=share
https://www.facebook.com/groups/HackingTeamCyber/?ref=share

🎥 YouTube
https://www.youtube.com/@HackingTeamOficial/videos

🎵 TikTok:
https://www.tiktok.com/@hackingteamprohackers
https://www.tiktok.com/@hacking.kdea?_t=ZS-8vTtlaQrDTL&_r=1