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

NullPointerException

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());
    }
}
3 respostas
solução!

Boa noite Jorge Araujo. Tudo bem?

Copiei seu código e testei aqui, o único erro era na importação do assertEquals.

No seu está: import static org.junit.Assert.*;

Modifiquei para: import static org.junit.jupiter.api.Assertions.assertEquals;

Com essa modificação compilou e passou nos testes.

Modifique isso e tente novamente.

Espero que tenha ajudado. Bons estudos!

O import do Junit test também está incorreto.

No seu está: import org.junit.Test;

Modifiquei para: import org.junit.jupiter.api.Test;

Verifique também se no seu pom.xml está correta a dependencia do Junit, o correto é:

    <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>5.7.0</version>
        <scope>test</scope>
    </dependency>

Essa é a que o professor usa na aula.

Abraços

Jefferson, muito obrigado.

O problema estava relacionado a importação.