Introdução

Neste tutorial, vamos explorar como implementar testes automatizados em aplicações C# utilizando o framework xUnit. A prática de testes é essencial para garantir a qualidade do código e para evitar regressões durante o desenvolvimento. Utilizaremos o padrão Arrange-Act-Assert, que oferece uma estrutura clara para a criação de testes, permitindo que você defina o contexto (Arrange), execute a lógica que será testada (Act) e, por fim, verifique os resultados esperados (Assert). Este guia é voltado para desenvolvedores que já possuem um conhecimento básico em C# e desejam aprofundar-se em práticas de testes automatizados.

Etapas

  1. Configuração do Ambiente de Desenvolvimento

    Certifique-se de ter o .NET SDK e um IDE como o Visual Studio ou Visual Studio Code instalados em sua máquina. Você pode verificar a instalação do .NET SDK com o comando `dotnet –version`. Caso não esteja instalado, siga as instruções nos sites oficiais.

    commands
    # Verificar versão do .NET SDK
    dotnet --version

  2. Criação do Projeto C#

    Use o CLI do .NET para criar um novo projeto de console que servirá como base para os testes. Execute o comando a seguir no terminal:

    commands
    dotnet new console -n TesteAutomatizado

  3. Adicionando o xUnit ao Projeto

    Para adicionar o xUnit ao seu projeto, navegue até a pasta do projeto e utilize o seguinte comando para instalar o pacote do xUnit:

    commands
    cd TesteAutomatizado
    dotnet add package xunit
    dotnet add package xunit.runner.visualstudio

  4. Criação da Classe de Exemplo

    Implemente uma classe simples com métodos que serão testados. Crie um arquivo chamado `Calculadora.cs` e adicione o seguinte código:

    Calculadora.cs
    using System;
    
    namespace TesteAutomatizado {
        public class Calculadora {
            public int Somar(int a, int b) {
                return a + b;
            }
    
            public int Subtrair(int a, int b) {
                return a - b;
            }
        }
    }

  5. Criação dos Testes

    Crie uma nova classe para os testes. Crie uma pasta chamada `Teste` e adicione um arquivo chamado `CalculadoraTests.cs` com o seguinte conteúdo:

    CalculadoraTests.cs
    using Xunit;
    
    namespace TesteAutomatizado.Teste {
        public class CalculadoraTests {
            [Fact]
            public void TestarSomar() {
                // Arrange
                var calculadora = new Calculadora();
                int a = 5;
                int b = 3;
    
                // Act
                int resultado = calculadora.Somar(a, b);
    
                // Assert
                Assert.Equal(8, resultado);
            }
    
            [Fact]
            public void TestarSubtrair() {
                // Arrange
                var calculadora = new Calculadora();
                int a = 5;
                int b = 3;
    
                // Act
                int resultado = calculadora.Subtrair(a, b);
    
                // Assert
                Assert.Equal(2, resultado);
            }
        }
    }

  6. Executando os Testes

    Para executar os testes criados, utilize o seguinte comando na linha de comando estando na pasta do projeto:

    commands
    dotnet test

  7. Verificando os Resultados

    Após a execução dos testes, verifique a saída no terminal. Você deve ver uma mensagem indicando que todos os testes passaram com sucesso. Isso confirma que sua lógica de adição e subtração está correta.

    commands
    # Saída esperada
    Test run passed.

Conclusão

Neste tutorial, você aprendeu a configurar um ambiente de desenvolvimento para aplicações C# e a implementar testes automatizados utilizando o framework xUnit. Seguimos o padrão Arrange-Act-Assert, que facilita a organização e a compreensão dos testes. Ao final, você é capaz de executar seus testes e verificar a qualidade da sua aplicação. A prática de testes não só melhora a robustez do código, mas também assegura que futuras alterações não introduzam bugs indesejados, permitindo uma evolução tranquila do software.

Hashtags

#CSharp #xUnit #TestesAutomatizados #QualidadeDeCódigo #DesenvolvimentoDeSoftware