Faker .NET es una biblioteca de C# que se utiliza para generar datos aleatorios y falsos para fines de prueba y desarrollo en aplicaciones .NET.
Este tipo de librerías son muy útiles cuando tenemos que probar aplicaciones, o base de datos. Por ejemplo, podemos hacer una demo o un mockup, sin necesidad de usar datos reales, ni problemas de confidencialidad.
La librería es un port (uno de muchos) de la popular librería para Ruby Faker https://github.com/faker-ruby/faker. Así es una alternativa a otras librerías similares para .NET como la popular https://github.com/slashdotdash/faker-cs.
Lo que más me gusta de esta versión de Faker en particular, además de la gran cantidad de generadores y opciones que tiene, son las opciones de localización. La mayoría de librerías solo generan datos para US o UK. Sin embargo, Faker .NET genera datos en formatos para más de 51 países.
Con Faker .NET podemos generar datos aleatorios de una amplia variedad de tipos como nombres, direcciones, números de teléfono, direcciones de correo electrónico, fechas, entre muchos muchos otros.
Por supuesto tenemos todo tipo de opciones para personalizar la creación. Además de poder generar datos personalizados a través de expresiones regulares, junto a distribuciones de probabilidad para controlar la frecuencia de ciertos valores.
Es compatible con .NET Standard 2.0 y 2.1, .NET Framework 4.6.2 o superior, y .NET 5.0 o superior.
Cómo usar Faker .NET
Podemos añadir la biblioteca a un proyecto de .NET fácilmente, a través del paquete Nuget correspondiente.
Install-Package Faker.Net
Aquí tenéis algunos de cómo utilizar Faker .NET extraídos de la documentación de la librería
// Genera un nombre aleatorio
string nombre = RimuTec.Faker.Name.FullName();
// Genera una dirección aleatoria
string direccion = RimuTec.Faker.Address.FullAddress();
// Genera un número de teléfono aleatorio
string telefono = RimuTec.Faker.Phone.Number();
// Genera una fecha aleatoria en el rango de los últimos 10 años
DateTime fecha = RimuTec.Faker.Date.Recent(10);
// Genera párrafos Lorem Ipsum aleatorios
string paragraphs = RimuTec.Faker.Lorem.Paragraphs(4);
Como vemos, es muy sencilla de usar, simplemente es una llamada al método generador que queramos. Los tipos de datos que tenemos disponibles para usar son,
- Address
- Business
- Code
- Color
- Company
- Date
- Educator
- Finance
- IdNumber
- Internet
- Job
- Lorem
- Name
- PhoneNumber
- RandomNumber
Cada uno con distintas opciones de generación. En total, hay más de 100 métodos para generar datos falsos para vuestros test.
Faker .NET es Open Source bajo licencia MIT, y todo el código y documentación está disponible en el repositorio del proyecto en http://faker.rubyforge.org
Para utilizar Faker Cs en un proyecto de C#, primero se debe instalar la librería a través de NuGet. Una vez instalada, se puede comenzar a utilizar de la siguiente manera:
using Faker;
Faker Cs también permite generar datos en diferentes idiomas y localizaciones, lo que es útil para probar aplicaciones que deben soportar diferentes idiomas y regiones.