Introdução


Faker.Net é uma biblioteca open‑source de geração de dados de teste simulados para .NET / C#. Inspirada no ecossistema Ruby Faker, resolve o problema da falta de grandes volumes de dados realistas durante depuração, inicialização de banco de dados e testes de unidade.

Repositório do projeto:https://github.com/jonwingfield/Faker.Net

Gere rapidamente dados fictícios próximos de cenários reais, tipos comuns:

  • Dados pessoais: nome completo, sexo, número de telefone, e‑mail, número de documento de identidade
  • Dados geográficos: estado‑cidade, endereço completo, código postal
  • Dados empresariais: nome da empresa, cargo, trecho de texto, data e hora
  • Dados de rede: endereço IP, URL, nome de usuário

Insira centenas de registros com nomes, sexos e contatos diferentes nas tabelas de teste sem digitar cada entrada manualmente.

Pacote NuGet

Install-Package Faker.NetCode language: CSS (css)

Ou via CLI

dotnet add package Faker.NetCode language: CSS (css)

Trechos de código

using Faker;

// Gerar nome completo
string fullName = Name.FullName();
// Gerar número de telefone
string phone = Phone.Number();
// Gerar endereço de e‑mail
string email = Internet.Email();
// Gerar endereço completo
string address = Address.FullAddress();Code language: JavaScript (javascript)

Demonstração de geração em lote

// Laço para criar 10 registros de usuário de teste
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()
    });
}Code language: HTML, XML (xml)

Gerar nomes aleatórios

Exemplo de aplicativo de console
static void Main(string[] args)
{
    // Exibir 100 nomes completos em inglês aleatórios
    for (int i = 0; i < 100; i++)
    {
        Console.WriteLine(Name.GetName());
    }
    Console.ReadKey();
}Code language: JavaScript (javascript)

Saída de exemplo: nomes como Bonnie Eichmann e Adrien Crooks. Alguns nomes podem trazer tratamentos (Miss, Mrs) ou sufixos acadêmicos (PhD, IV).

Análise da implementação interna

public static class Name
{
    public static string GetName()
    {
        // Obter número inteiro aleatório entre 0 e 9
        switch (FakerRandom.Rand.Next(10))
        {
            // 10%: Tratamento + primeiro nome + sobrenome (Miss Deontae Mante)
            case 0: 
                return GetPrefix() + " " + GetFirstName() + " " + GetLastName();
            // 10%: Primeiro nome + sobrenome + sufixo (Haskell Morissette PhD)
            case 1: 
                return GetFirstName() + " " + GetLastName() + " " + GetSuffix();
            // Restante 80%: formato padrão primeiro nome + sobrenome (Adrien Crooks)
            default: 
                return GetFirstName() + " " + GetLastName();
        }
    }

    // Seleciona um nome aleatório do conjunto de dados embutido
    public static string GetFirstName()
    {
        return FIRST_NAMES.Rand();
    }
}Code language: PHP (php)

Introdução

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *