Meu teste esta retornando um NullPointerException, pois meu código não esta levando em consideração o @BeforeEach.
O que posso estar incorreto no meu código?
package br.com.alura.tdd.service;
import static org.junit.Assert.*;
import java.math.BigDecimal;
import java.time.LocalDate;
import org.junit.Test;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import br.com.alura.tdd.modelo.Desempenho;
import br.com.alura.tdd.modelo.Funcionario;
public class ReajusteServiceTest {
private ReajusteService reajuste;
private Funcionario funcionario;
@BeforeEach
public void inicializar() {
this.reajuste = new ReajusteService();
this.funcionario = new Funcionario("Joao", LocalDate.now(), new BigDecimal("1000.00"));
}
@AfterEach
public void finalizar() {
System.out.println("fim");
}
@Test
public void reajusteDeveriaSerTresPorcentoQuandoDesempenhoForADesejar() {
reajuste.concederReajuste(funcionario, Desempenho.A_DESEJAR);
assertEquals(new BigDecimal("1030.00"), funcionario.getSalario());
}
@Test
public void reajusteDeveriaSerQuinzePorcentoQuandoDesempenhoForBom() {
reajuste.concederReajuste(funcionario, Desempenho.BOM);
assertEquals(new BigDecimal("1150.00"), funcionario.getSalario());
}
@Test
public void reajusteDeveriaSerVintePorcentoQuandoDesempenhoForOtimo() {
reajuste.concederReajuste(funcionario, Desempenho.OTIMO);
assertEquals(new BigDecimal("1200.00"), funcionario.getSalario());
}
}