Faker.Net es una biblioteca de código abierto para generar datos de prueba simulados para .NET / C#. Inspirada en el ecosistema Faker de Ruby, resuelve la falta de grandes volúmenes de datos realistas durante la depuración, inicialización de bases de datos y pruebas unitarias.
Repositorio del proyecto:https://github.com/jonwingfield/Faker.Net
Genera rápidamente datos ficticios adaptados a escenarios reales, tipos habituales:
- Datos personales: nombre completo, sexo, número de teléfono, correo electrónico, número de documento de identidad
- Datos geográficos: provincia‑ciudad, dirección completa, código postal
- Datos empresariales: nombre de empresa, puesto laboral, fragmento de texto, fecha y hora
- Datos de red: dirección IP, URL, nombre de usuario
Inserta cientos de registros con nombres, sexos y contactos distintos en tablas de prueba sin tener que escribir cada entrada manualmente.
Paquete NuGet
Install-Package Faker.NetLenguaje del código: CSS (css)
O mediante CLI
dotnet add package Faker.NetLenguaje del código: CSS (css)
Fragmentos de código
using Faker;
// Generar nombre completo
string fullName = Name.FullName();
// Generar número de teléfono
string phone = Phone.Number();
// Generar correo electrónico
string email = Internet.Email();
// Generar dirección completa
string address = Address.FullAddress();Lenguaje del código: JavaScript (javascript)
Demostración de generación masiva
// Bucle para crear 10 registros de usuario de prueba
var userList = new List<User>();
for (int i = 0; i < 10; i++)
{
userList.Add(new User()
{
Name = Name.FullName(),
Phone = Phone.Number(),
Email = Internet.Email(),
Address = Address.FullAddress()
});
}Lenguaje del código: HTML, XML (xml)
Generar nombres aleatorios
Ejemplo de aplicación consola
static void Main(string[] args)
{
// Imprimir 100 nombres completos en inglés aleatorios
for (int i = 0; i < 100; i++)
{
Console.WriteLine(Name.GetName());
}
Console.ReadKey();
}Lenguaje del código: JavaScript (javascript)
Salida de ejemplo: nombres como Bonnie Eichmann o Adrien Crooks. Algunos incluyen tratamientos (Miss, Mrs) o sufijos académicos (PhD, IV).
Explicación de la implementación interna
public static class Name
{
public static string GetName()
{
// Obtener número entero aleatorio entre 0 y 9
switch (FakerRandom.Rand.Next(10))
{
// 10 %: Tratamiento + nombre + apellido (Miss Deontae Mante)
case 0:
return GetPrefix() + " " + GetFirstName() + " " + GetLastName();
// 10 %: Nombre + apellido + sufijo (Haskell Morissette PhD)
case 1:
return GetFirstName() + " " + GetLastName() + " " + GetSuffix();
// Restante 80 %: formato estándar nombre + apellido (Adrien Crooks)
default:
return GetFirstName() + " " + GetLastName();
}
}
// Seleccionar nombre al azar desde el conjunto de datos integrado
public static string GetFirstName()
{
return FIRST_NAMES.Rand();
}
}Lenguaje del código: PHP (php)
Introducción