Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

danilomobr

JUnit - Erro na Variavel Integer java.lang.NullPointerException

Recommended Posts

Pessoal, eu estou fazendo teste unitário usando o JUnit, porém ao realizar o teste de uma classe, alguns metodos me retornaram erro:

java.lang.NullPointerException

 

Pelo que eu entendi ele está dizendo que ao passar um valor "nulo" por parametro em um metodo irá dar erro, ou seja, não é permitido valor nulo.

Eu então fiz uma validação para verificar antes se o valor é diferente de nulo e assim poder executar a procura do dado.

Porém mesmo fazendo isso o erro persiste.

Segue abaixo o código:

 

public String getVeiculo(Integer id) {
        String nomeVeiculo = "";
        
        if (id != null) {
            Veiculo veiculo = this.veiculoFacade.find(id);
            nomeVeiculo = veiculo.getNome();
        }
        
        return nomeVeiculo;
    }
public Veiculo(Integer id, String nome) {
        this.id = id;
        this.nome = nome;
    }

public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

Metodo de teste Junit

 

public void testGetVeiculo() {
        System.out.println("Rodando Teste getVeiculo");
        
        Double custo = 1.0;
        
        Integer actual = 1;
        List<Veiculo> expected = Arrays.asList(
                new Veiculo(1, "Caminhão baú", BigDecimal.valueOf(custo))
        );
        
        //Test equals
        assertEquals(expected, v.getVeiculo(actual));        
        assertThat(expected, is(v.getVeiculo(actual)));
        
        //Test check empty list
        assertThat(actual, is(not(empty())));
    }

 

Agradeço quem puder me ajudar.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao executar o teste no JUnit ele ta retornando isso:

Testcase: testGetVeiculo(controller.VeiculoControllerTest):	Caused an ERROR
null
java.lang.NullPointerException
	at controller.VeiculoController.getVeiculo(VeiculoController.java:54)
	at controller.VeiculoControllerTest.testGetVeiculo(VeiculoControllerTest.java:108)


Test controller.VeiculoControllerTest FAILED

Pelo que eu entendi, o erro esta nessa linha:

Veiculo veiculo = this.veiculoFacade.find(id);

Porém, se eu executo o projeto, não da nenhum erro, retornando assim o nome do veiculo pelo id (inteiro) enviado.

Só está dando erro mesmo é na hora de testar.
Eu ainda não consegui descobrir porque ele insiste em retornar "null", se eu passei o valor da variavel no arquivo de teste.
Além disso, eu coloquei mais a validação no metodo testado.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.