Ir para conteúdo
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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

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