Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

JUnit só está rodando um método para validar o teste

Bom dia!

O JUnit só está compilando um dos metódos que criamos nesta aula conforme imagem abaixo: Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Segue meu código: Classe ReajusteServiceTest: package br.com.alura.tdd.service;

import static org.junit.jupiter.api.Assertions.assertEquals;

import java.math.BigDecimal; import java.time.LocalDate;

import org.junit.jupiter.api.Test;

import br.com.alura.tdd.modelo.Desempenho; import br.com.alura.tdd.modelo.Funcionario;

public class ReajusteServiceTest {

@Test
public void reajusteDeveriaSerDe3PorCentoQuandoDesempenhoForADesejar() {
    ReajusteService service = new ReajusteService();
    Funcionario funcionario = new Funcionario("Lucas", LocalDate.now(), new BigDecimal("1000"));
    service.concederReajuste(funcionario, Desempenho.A_DESEJAR);

    assertEquals(new BigDecimal("1030.00"), funcionario.getSalario());
}

@Test
public void reajusteDeveriaSerDe15PorCentoQuandoDesempenhoForBom() {
    ReajusteService service = new ReajusteService();
    Funcionario funcionario = new Funcionario("Lucas", LocalDate.now(), new BigDecimal("1000"));
    service.concederReajuste(funcionario, Desempenho.BOM);

    assertEquals(new BigDecimal("1150.00"), funcionario.getSalario());
}

@Test
public void reajusteDeveriaSerDe20PorCentoQuandoDesempenhoForOtimo() {
    ReajusteService service = new ReajusteService();
    Funcionario funcionario = new Funcionario("Lucas", LocalDate.now(), new BigDecimal("1000"));
    service.concederReajuste(funcionario, Desempenho.OTIMO);

    assertEquals(new BigDecimal("1200.00"), funcionario.getSalario());
}

}

Classe ReajusteService: package br.com.alura.tdd.service;

import java.math.BigDecimal;

import br.com.alura.tdd.modelo.Desempenho; import br.com.alura.tdd.modelo.Funcionario;

public class ReajusteService {

public void concederReajuste(Funcionario funcionario, Desempenho desempenho) {
    if (desempenho == Desempenho.A_DESEJAR) {
        BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.03"));
        funcionario.reajustarSalario(reajuste);
    } else if (desempenho == Desempenho.BOM) {
        BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.15"));
        funcionario.reajustarSalario(reajuste);
    } else {
        BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.20"));
        funcionario.reajustarSalario(reajuste);
    }
}

}

Alguém poderia me ajudar?

Atenciosamente, Lucas Pennella.

2 respostas
solução!

Oi Lucas,

Talvez o build do seu projeto não tenha sido realizado e a versão anterior do código ainda está sendo considerada. Verifique no menu superior Project se a opção Build Automatically está marcada.

Ou talvez você tenha clicado com o botão direito em cima desse método para rodar os testes e com isso o JUnit ignorou os outros. Clique com o botão direito na classe(no package explorer) e escolha a opção Run as -> JUnit Test

Olá Rodrigo!

Agora deu certo, muito obrigado pelas dicas. Abraços

Atenciosamente, Lucas Pennella.