Bogus para C# (.NET): guía completa con ejemplos

Entrenador de Python en Línea para Principiantes

Aprende Python fácilmente sin sobrecargarte de teoría. Resuelve tareas prácticas con verificación automática, recibe pistas y escribe código directamente en el navegador, sin instalar nada.

Start Course

¿Qué es Bogus y para qué sirve?

\n\n

Bogus es una biblioteca potente, simple y rápida para generar datos falsos (de prueba) en el lenguaje C# (.NET). Es un puerto directo de la popular biblioteca de JavaScript Faker.js. El objetivo principal de Bogus es liberar a los desarrolladores de escribir manualmente código repetitivo para crear conjuntos de datos de prueba.

\n\n

¿Para qué sirve? Imagina que estás desarrollando una aplicación que trabaja con usuarios, pedidos, productos o cualquier otra entidad. Para probar la funcionalidad (pruebas unitarias, pruebas de integración, pruebas de carga), constantemente necesitas datos: nombres, direcciones, correos electrónicos, números de teléfono, texto, números, fechas, etc. Crear manualmente 1000 objetos User con diferentes datos es tedioso, lento y propenso a errores. Bogus resuelve este problema en una sola línea de código.

\n\n

Ventajas clave de Bogus:

\n
    \n
  • Localización: Soporte para docenas de idiomas y formatos regionales (es, en, de, fr, etc.).
  • \n
  • Flexibilidad: Puedes generar datos teniendo en cuenta reglas de negocio (por ejemplo, "el precio debe ser mayor que 0 y menor que 1000").
  • \n
  • Repetibilidad: Usando una semilla (seed), puedes obtener los mismos conjuntos de datos en cada ejecución, algo crítico para pruebas reproducibles.
  • \n
  • Rendimiento: Bogus está optimizado para generar millones de registros en segundos.
  • \n
  • Seguridad de tipos: Funciona con tus propias clases e interfaces, utilizando la tipificación estricta de C#.
  • \n
\n\n

Instalación de Bogus

\n\n

Bogus se distribuye como un paquete NuGet. Se puede instalar de varias maneras:

\n\n

1. A través de .NET CLI (recomendado)

\n
dotnet add package Bogus
\n\n

2. A través de la Consola del Administrador de Paquetes (Visual Studio)

\n
Install-Package Bogus
\n\n

3. A través de la interfaz del Administrador de Paquetes NuGet en Visual Studio

\n

Abra "Manage NuGet Packages", busque "Bogus" y haga clic en "Install".

\n\n

Después de la instalación, agregue la directiva using a su código:

\n
using Bogus;
\n\n

Inicio rápido: primer ejemplo

\n\n

Vamos a generar una colección simple de objetos Person con nombres y direcciones en español.

\n\n
using Bogus;\n\n// 1. Creamos las "reglas" (Faker) para la generación de datos\n//    Especificamos la configuración regional "es" para datos en español\nvar faker = new Faker("es");\n\n// 2. Generamos 10 personas ficticias\nfor (int i = 0; i < 10; i++)\n{\n    var person = new\n    {\n        Name = faker.Name.FullName(),    // Nombre completo\n        Email = faker.Internet.Email(),  // Correo electrónico\n        Phone = faker.Phone.PhoneNumber(), // Número de teléfono\n        City = faker.Address.City(),     // Ciudad\n        Age = faker.Random.Int(18, 80)   // Edad entre 18 y 80\n    };\n\n    Console.WriteLine($"{person.Name}, {person.Age} años, {person.City}, {person.Email}, {person.Phone}");\n}\n\n// Ejemplo de salida (cambiará en cada ejecución):\n// Juan García López, 34 años, Madrid, juan.garcia@example.com, +34 91 123 45 67\n// María Rodríguez Pérez, 27 años, Barcelona, maria.rodriguez@test.es, +34 93 987 65 43\n// ...
\n\n

¿Cómo funciona? new Faker("es") crea el objeto generador principal. Sus propiedades Name, Internet, Phone, Address, Random son "categorías" integradas (API), cada una de las cuales contiene decenas de métodos para generar datos específicos.

\n\n

Métodos y funciones principales de Bogus

\n\n

Bogus proporciona una gran cantidad de métodos. A continuación se presentan las 10+ categorías más utilizadas y sus métodos clave con ejemplos detallados.

\n\n

1. Name — Generación de nombres

\n

Qué hace: Genera nombres, apellidos, segundos nombres (para la configuración regional en español), nombres completos, prefijos y sufijos.

\n

Parámetros:

Recommendations