Faker.Net est une bibliothèque open‑source de génération de données de test factices pour .NET / C#. Inspirée de l’écosystème Ruby Faker, elle répond au manque de volumes importants de données réalistes pour le débogage, l’initialisation de bases de données et les tests unitaires.
Dépôt du projet:https://github.com/jonwingfield/Faker.Net
Générez rapidement des données factices proches de la réalité métier, catégories courantes :
- Informations personnelles : nom complet, sexe, numéro de téléphone, adresse e‑mail, numéro d’identité
- Données géographiques : région‑ville, adresse postale complète, code postal
- Données métier : nom d’entreprise, poste, extrait de texte, date et heure
- Données réseau : adresse IP, URL, nom d’utilisateur
Insérez en masse des centaines d’enregistrements avec des noms, sexes et coordonnées différents dans vos tables de test sans saisie manuelle.
Paquet NuGet
Install-Package Faker.NetLangage du code : CSS (css)
Ou via l’outil CLI
dotnet add package Faker.NetLangage du code : CSS (css)
Extraits de code
using Faker;
// Générer un nom complet
string fullName = Name.FullName();
// Générer un numéro de téléphone
string phone = Phone.Number();
// Générer une adresse e‑mail
string email = Internet.Email();
// Générer une adresse postale complète
string address = Address.FullAddress();Langage du code : JavaScript (javascript)
Démonstration de génération en masse
// Boucle pour créer 10 enregistrements utilisateur de test
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()
});
}Langage du code : HTML, XML (xml)
Générer des noms aléatoires
Exemple d’application console
static void Main(string[] args)
{
// Afficher 100 noms complets anglais aléatoires
for (int i = 0; i < 100; i++)
{
Console.WriteLine(Name.GetName());
}
Console.ReadKey();
}Langage du code : JavaScript (javascript)
Résultat d’exécution : des noms complets comme Bonnie Eichmann ou Adrien Crooks. Certains comportent un titre de civilité (Miss, Mrs) ou un suffixe académique (PhD, IV).
Analyse de l’implémentation interne
public static class Name
{
public static string GetName()
{
// Générer un entier aléatoire entre 0 et 9
switch (FakerRandom.Rand.Next(10))
{
// 10 % : titre + prénom + nom (Miss Deontae Mante)
case 0:
return GetPrefix() + " " + GetFirstName() + " " + GetLastName();
// 10 % : prénom + nom + suffix (Haskell Morissette PhD)
case 1:
return GetFirstName() + " " + GetLastName() + " " + GetSuffix();
// 80 % restant : format standard prénom + nom (Adrien Crooks)
default:
return GetFirstName() + " " + GetLastName();
}
}
// Tirer un prénom au hasard depuis le jeu de données interne
public static string GetFirstName()
{
return FIRST_NAMES.Rand();
}
}Langage du code : PHP (php)
Présentation