Na hora de testar o código com o @BeforeEach, não compila. Quando eu coloco o método inicializar antes de cada teste funciona normalmente. Não sei resolver.
package br.com.alura.RH.test;
import br.com.alura.RH.modelos.Desempenho;
import br.com.alura.RH.modelos.Funcionario;
import br.com.alura.RH.servico.ReajusteService;
import org.junit.Assert;
import org.junit.Test;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import java.math.BigDecimal;
import java.time.LocalDate;
public class ReajusteServiceTest {
private ReajusteService reajuste;
private Funcionario funcionario;
@BeforeEach
public void inicializar(){
System.out.println("Início do teste");
this.reajuste = new ReajusteService();
this.funcionario = new Funcionario("Matheus", LocalDate.now(), new BigDecimal("1000.00"));
}
@AfterEach
public void finalizar(){
System.out.println("Fim do teste");
}
/*@BeforeAll
public static void comecoDeTodos(){
System.out.println("Início de todos os testes");
}
@AfterAll
public static void finalDeTodos(){
System.out.println("Final de todos os testes");
}*/
@Test
public void reajusteDeveriaSerdeTresPorCentoQaudnoDesempenhoForADesejar(){
reajuste.concederReajuste(funcionario, Desempenho.A_Desejar);
Assert.assertEquals(new BigDecimal("1030.00"), funcionario.getSalario());
}
@Test
public void reajusteDeveriaSerdeQuinzePorCentoQuandoDesempenhoForBom(){
reajuste.concederReajuste(funcionario, Desempenho.Bom);
Assert.assertEquals(new BigDecimal("1150.00"), funcionario.getSalario());
}
@Test
public void reajusteDeveriaSerdeVintePorCentoQuandoDesempenhoForExcelente(){
reajuste.concederReajuste(funcionario, Desempenho.Excelente);
Assert.assertEquals(new BigDecimal("1200.00"), funcionario.getSalario());
}
}