FC

Filipe Cardoso24/07/2024 18:05
Compartilhe

Testes Unitários em Java com JUnit e Maven

    Desenvolver e executar testes unitários é uma prática importante na garantia da qualidade e confiabilidade do código. Neste artigo, apresento como criar um projeto Java, configurar testes unitários com JUnit e Maven, e explorar diferentes tipos de testes disponíveis no JUnit, usando o Visual Studio Code (VSCode).

    Criando um Projeto Java com Maven

    Maven é uma ferramenta de automação de build que facilita o gerenciamento de dependências e a execução de tarefas repetitivas.

    Abra o terminal e execute o seguinte comando:

    mvn archetype:generate -DgroupId=com.example -DartifactId=meu-projeto -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    

    Este comando cria um novo projeto Maven com a estrutura básica de diretórios e um exemplo de classe Java.

    Estrutura do Projeto

    A estrutura do projeto deve seguir dessa maneira:

    meu-projeto
    │   pom.xml
    └───src
      └───main
      │   └───java
      │       └───com
      │           └───example
      │               │   App.java
      └───test
          └───java
              └───com
                  └───example
                      │   AppTest.java
    
    

    Configurando a dependência do JUnit n pom.xml

    adicione a dependência do JUnit no arquivo pom.xml:

    <dependencies>
      <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.13.2</version>
          <scope>test</scope>
      </dependency>
    </dependencies>
    
    

    Criando a classe a ser testada

    Crie a classe "Calculadora.java" em src/main/java/com/example/

    package com.example;
    
    
    public class Calculadora {
      public int soma(int a, int b) {
          return a + b;
      }
    }
    

    Criando a Classe de Teste

    Crie a classe "CalculadoraTest.java" em src/test/java/com/example/

    package com.example;
    
    
    import static org.junit.Assert.*;
    import org.junit.*;
    
    
    public class CalculadoraTest {
    
    
      @BeforeClass
      public static void beforeAll() {
          System.out.println("Executado uma vez antes de todos os testes.");
      }
    
    
      @AfterClass
      public static void afterAll() {
          System.out.println("Executado uma vez depois de todos os testes.");
      }
    
    
      @Before
      public void beforeEach() {
          System.out.println("Executado antes de cada teste.");
      }
    
    
      @After
      public void afterEach() {
          System.out.println("Executado depois de cada teste.");
      }
    
    
      @Test
      public void testSoma() {
          Calculadora calc = new Calculadora();
          int resultado = calc.soma(2, 3);
          assertEquals(5, resultado); // Deve passar
      }
    
    
      @Test
      public void testSomaDiferente() {
          Calculadora calc = new Calculadora();
          int resultado = calc.soma(2, 3);
          assertNotEquals(6, resultado); // Deve passar
      }
    
    
      @Test
      public void testArrayEquals() {
          int[] esperado = {1, 2, 3};
          int[] real = {1, 2, 3};
          assertArrayEquals(esperado, real); // Deve passar
      }
    }
    

    Tipos de Testes no JUnit

    • @BeforeClass: Método anotado com @BeforeClass é executado uma vez antes de todos os testes da classe. Deve ser estático.
    • @AfterClass: Método anotado com @AfterClass é executado uma vez depois de todos os testes da classe. Deve ser estático.
    • @Before: Método anotado com @Before é executado antes de cada método de teste.
    • @After: Método anotado com @After é executado depois de cada método de teste.
    • assertEquals: Verifica se dois valores são iguais.
    • assertNotEquals: Verifica se dois valores são diferentes.
    • assertArrayEquals: Verifica se dois arrays são iguais.

    Executando os Testes

    mvn test
    

    Caso os testes não sejam executados, exclua a pasta "test-classe" presente na pasta "target" e execute os testes novamente. Seguindo estes passos, você consegue configurar e executar testes unitários em Java usando JUnit e Maven no VSCode. Esta prática não só melhora a qualidade do código, mas também facilita a manutenção e a detecção precoce de bugs.

    Referências:

    • https://cursos.alura.com.br/forum/topico-nao-consigo-executar-os-testes-336918
    • https://www.youtube.com/watch?v=nHn4jx5rcLk

    Links Úteis:

    • https://br.linkedin.com/in/filipe-mesel-lobo-costa-cardoso
    • https://github.com/FilipeMesel
    Compartilhe
    Comentários (0)