Testes Unitários da Classe Estudante em Java

JavaBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como escrever testes unitários para uma classe Student simples usando o framework de testes JUnit. O projeto envolve a configuração do ambiente de teste, a escrita de casos de teste para os métodos get e set da classe Student e a verificação da correção da implementação.

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como importar a dependência JUnit no projeto
  • Como configurar a classe StudentTest e inicializar um objeto Student para teste
  • Como escrever casos de teste para os métodos get da classe Student
  • Como escrever casos de teste para os métodos set da classe Student

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Configurar um ambiente de teste usando Maven e JUnit
  • Escrever testes unitários eficazes para uma classe Java
  • Verificar a correção da implementação usando casos de teste
  • Aplicar as melhores práticas para escrever código sustentável e confiável

Importar a Dependência JUnit

Nesta etapa, você aprenderá como importar a dependência JUnit no projeto.

  1. Abra o arquivo pom.xml localizado no diretório ~/project/StudentClass.
  2. Adicione a seguinte dependência dentro da seção <dependencies>:
<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.11</version>
  <scope>test</scope>
</dependency>

Isso adicionará a dependência JUnit 4 ao projeto, que é necessária para escrever e executar os testes unitários.

✨ Verificar Solução e Praticar

Configurar a Classe de Teste Student

Nesta etapa, você aprenderá como configurar a classe StudentTest e inicializar um objeto Student para teste.

  1. Abra o arquivo StudentTest.java localizado no diretório ~/project/StudentClass/src/test/java/com/labex.
  2. Adicione o seguinte método anotado com @Before à classe StudentTest:
private Student studentTest;

@Before
public void setUp() {
    studentTest = new Student("Tom", "male", 25);
}

Este método setUp() será executado antes de cada método de teste e criará um novo objeto Student com o nome, sexo e idade fornecidos.

✨ Verificar Solução e Praticar

Escrever Testes para os Métodos Get e Set

Nesta etapa, você escreverá testes para verificar os métodos get e set da classe Student.

  1. Adicione os seguintes métodos de teste à classe StudentTest:
@Test
public void testGetName() {
    assertEquals("Tom", studentTest.getName());
}

@Test
public void testGetAge() {
    assertEquals(25, studentTest.getAge());
}

@Test
public void testGetSex() {
    assertEquals("male", studentTest.getSex());
}

Esses testes garantirão que os métodos getName(), getAge() e getSex() da classe Student estejam funcionando corretamente.

  1. Adicione os seguintes métodos de teste à classe StudentTest:
@Test
public void testSetName() {
    studentTest.setName("Jimmy");
    assertEquals("Jimmy", studentTest.getName());
}

@Test
public void testSetAge() {
    studentTest.setAge(26);
    assertEquals(25, studentTest.getAge()); // Age should remain unchanged
}

@Test
public void testSetSex() {
    studentTest.setSex("female");
    assertEquals("female", studentTest.getSex());
}

Esses testes garantirão que os métodos setName(), setAge() e setSex() da classe Student estejam funcionando corretamente.

✨ Verificar Solução e Praticar

Executar o Caso de Teste

Para executar o caso de teste, siga estas etapas:

  1. No seu terminal, navegue até o diretório do projeto StudentClass usando o seguinte comando:
cd ~/project/StudentClass/
  1. Execute o seguinte comando para executar o caso de teste:
mvn test

A saída deve ser semelhante à seguinte:

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running com.labex.StudentTest
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 s - in com.labex.StudentTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 6, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.237 s
[INFO] Finished at: 2024-05-12T12:23:30Z
[INFO] ------------------------------------------------------------------------

Esses testes garantem que os métodos da classe Student, como getName, getAge, getSex, setName, setAge e setSex, estão funcionando corretamente, validando seu comportamento esperado por meio de asserções.

✨ Verificar Solução e Praticar

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.