DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited on

Gerando Dados de Teste Automatizados com AutoFixture

AutoFixture é uma biblioteca poderosa para gerar dados de teste automaticamente em .NET. Ela simplifica a criação de objetos de teste, eliminando a necessidade de escrever código manual para inicializar cada propriedade. O AutoFixture cria instâncias de objetos com dados aleatórios, tornando os testes mais flexíveis e permitindo testar cenários com dados variados. Neste exemplo, veremos como usar o AutoFixture para gerar objetos complexos automaticamente em um teste unitário.

Bibliotecas:

Para usar a biblioteca AutoFixture, instale o seguinte pacote NuGet no seu projeto:

Install-Package AutoFixture
Enter fullscreen mode Exit fullscreen mode

Código de Exemplo:

using AutoFixture;
using System;

namespace AutoFixtureExemplo
{
    class Program
    {
        static void Main(string[] args)
        {
            // Criando uma instância do gerador AutoFixture
            var fixture = new Fixture();

            // Gerando uma instância preenchida da classe Pedido
            var pedido = fixture.Create<Pedido>();

            // Exibindo os dados gerados automaticamente
            Console.WriteLine($"Pedido Id: {pedido.Id}, Valor: {pedido.ValorTotal}, Cliente: {pedido.Cliente.Nome}");
        }
    }

    // Classe Pedido
    public class Pedido
    {
        public int Id { get; set; }
        public decimal ValorTotal { get; set; }
        public Cliente Cliente { get; set; }
    }

    // Classe Cliente
    public class Cliente
    {
        public string Nome { get; set; }
        public string Email { get; set; }
    }
}
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, utilizamos o AutoFixture para gerar uma instância da classe Pedido, que contém uma referência a um objeto da classe Cliente. A biblioteca gera dados aleatórios para todas as propriedades automaticamente, incluindo objetos aninhados, como o Cliente. O resultado é exibido no console com os valores gerados dinamicamente. Isso facilita muito a criação de dados de teste complexos em cenários de testes unitários.

Conclusão:

O AutoFixture simplifica a criação de dados de teste, tornando os testes unitários mais robustos e flexíveis. Ele automatiza a geração de dados, economizando tempo ao evitar a necessidade de inicializar manualmente cada objeto. Essa ferramenta é ideal para testes que precisam de uma variedade de dados em diferentes cenários.

Código fonte: GitHub

Top comments (0)