O que é Bogus e para que serve?
\n\nBogus é uma biblioteca poderosa, simples e rápida para geração de dados falsos (de teste) na linguagem C# (.NET). Ela é uma porta direta da popular biblioteca JavaScript Faker.js. O principal objetivo do Bogus é livrar os desenvolvedores de escrever manualmente código repetitivo para criar conjuntos de dados de teste.
\n\nPara que serve? Imagine que você está desenvolvendo um aplicativo que trabalha com usuários, pedidos, produtos ou qualquer outra entidade. Para testar a funcionalidade (testes unitários, testes de integração, testes de carga), você precisa constantemente de dados: nomes, endereços, e-mails, números de telefone, texto, números, datas, etc. Criar manualmente 1000 objetos User com dados diferentes é tedioso, demorado e propenso a erros. O Bogus resolve esse problema em uma linha de código.
Principais vantagens do Bogus:
\n- \n
- Localização: Suporte a dezenas de idiomas e formatos regionais (pt, en, de, fr, etc.). \n
- Flexibilidade: Você pode gerar dados considerando regras de negócio (por exemplo, "o preço deve ser maior que 0 e menor que 1000"). \n
- Reprodutibilidade: Usando uma semente (seed), você pode obter os mesmos conjuntos de dados a cada execução — crucial para testes reproduzíveis. \n
- Desempenho: O Bogus é otimizado para gerar milhões de registros em segundos. \n
- Segurança de tipos: Funciona com suas próprias classes e interfaces, usando a tipagem forte do C#. \n
Instalação do Bogus
\n\nO Bogus é distribuído como um pacote NuGet. Você pode instalá-lo de várias maneiras:
\n\n1. Via .NET CLI (recomendado)
\ndotnet add package Bogus\n\n2. Via Package Manager Console (Visual Studio)
\nInstall-Package Bogus\n\n3. Via interface do NuGet Package Manager no Visual Studio
\nAbra "Manage NuGet Packages", procure por "Bogus" e clique em "Install".
\n\nApós a instalação, adicione a diretiva using ao seu código:
\nusing Bogus;\n\nInício rápido: primeiro exemplo
\n\nVamos gerar uma coleção simples de objetos Person com nomes e endereços em português.
using Bogus;\n\n// 1. Criamos as "regras" (Faker) para geração de dados\n// Especificamos a localidade "pt_BR" para dados em português do Brasil\nvar faker = new Faker("pt_BR");\n\n// 2. Geramos 10 pessoas fictícias\nfor (int i = 0; i < 10; i++)\n{\n var person = new\n {\n Name = faker.Name.FullName(), // Nome completo\n Email = faker.Internet.Email(), // Email\n Phone = faker.Phone.PhoneNumber(), // Número de telefone\n City = faker.Address.City(), // Cidade\n Age = faker.Random.Int(18, 80) // Idade entre 18 e 80\n };\n\n Console.WriteLine($"{person.Name}, {person.Age} anos, {person.City}, {person.Email}, {person.Phone}");\n}\n\n// Exemplo de saída (mudará a cada execução):\n// João Silva, 34 anos, São Paulo, joao@exemplo.com, (11) 91234-5678\n// Maria Santos, 27 anos, Rio de Janeiro, maria@teste.com.br, (21) 99876-5432\n// ...\n\nComo funciona? new Faker("pt_BR") cria o objeto gerador principal. Suas propriedades Name, Internet, Phone, Address, Random são "categorias" (APIs) embutidas, cada uma contendo dezenas de métodos para gerar dados específicos.
Principais métodos e funções do Bogus
\n\nO Bogus fornece uma enorme quantidade de métodos. Abaixo estão 10+ das categorias mais usadas e seus principais métodos com exemplos detalhados.
\n\n1. Name — Geração de nomes
\nO que faz: Gera nomes, sobrenomes, nomes do meio (para localidades que os possuem), nomes completos, prefixos e sufixos.
\nParâmetros:
Também na biblioteca
Biblioteca WebSocket Kotlin: ktor-client-websockets para tempo real
Internacionalização (i18n) em Rust: melhores bibliotecas e práticas
Migrações de banco de dados em TypeScript: guia completo sobre ferramentas e abordagens
Geração Swagger/OpenAPI para Rust: Utoipa e Aide
Trabalhando com S3 e armazenamentos em nuvem em Rust: biblioteca aws-sdk-s3
Recommendations