JUnit

5 respostas
R

Estou começando a aprender a utilizar o framework JUnit, executando um teste feito para testar um método que retorna uma consulta feita ao Banco de dados, apareceu a seguinte exception:

Exception in thread “main” junit.framework.AssertionFailedError: null

Alguém sabe o que ela significa? Pois através de testes percebi que o JUnit, quando encontra um erro retorna uma exception com o erro e o verdadeiro valor.

5 Respostas

Anime

Oi,

Apesar de vc não ter postado o código ou explicado melhor, deve ser por que o teste não deu certo, retornou um valor nulo.

http://junit.wikidot.com/

http://www.swen.uwaterloo.ca/~kostas/ECE453-06/tutorials/Tutorial_12.pdf

R

Fiz uma classe para test, criei uma lista de Cliente com apenas um cliente e fiz uma uma busca no banco de dados, onde retorna o mesmo cliente que coloquei na lista. Logo depois comparei as duas listas, sendo que a resposta correta seria true, que o teste não encontrou erro.

public class ClienteBDTest extends TestCase {

private ClienteBD bd = new ClienteBD();
private ArrayList<Cliente> array1;
private Cliente c;


public ClienteBDTest(){
    
    array1 = new ArrayList<Cliente>();
    c = new Cliente();
    c.setCPF("[CPF removido]");
    c.setEmail("[email removido]");
    c.setSobrenome("Silva");
    c.setNome("Pedro");
    c.setTelefoenRes("3521-1234");
    c.setTelefoneCel("88123456");
    c.setEndereco("João Monlevade");
    c.setDataNasc("01/01/1991");
    array1.add(c);
}




public boolean teste(ArrayList<Cliente> array1,ArrayList<Cliente> array2){
    
    if(array1.size()!=array2.size())
        return false;
    for(int i=0;i<array1.size();++i){
        if((array1.get(i).getCPF().equals(array2.get(i).getCPF()) &&  
                array1.get(i).getNome().equals(array2.get(i).getNome()) && 
                array1.get(i).getSobrenome().equals(array2.get(i).getSobrenome()) &&
                array1.get(i).getEmail().equals(array2.get(i).getEmail()) &&
                array1.get(i).getEndereco().equals(array2.get(i).getEndereco()) &&
                array1.get(i).getTelefoenRes().equals(array2.get(i).getTelefoenRes()) &&
                array1.get(i).getTelefoneCel().equals(array2.get(i).getTelefoneCel()) &&
                array1.get(i).getDataNasc().equals(array2.get(i).getDataNasc())) == false){
            
           return false; 
        }            
        
    }
    return true;
}




public void testconsulta() throws ClassNotFoundException, SQLException{
    

ArrayList<Cliente> array2 = bd.consultaCliente("SELECT * FROM cliente Where codCliente=2");
assertTrue(teste(array1,array2));
//Assert.assertEquals(array1,array2);
//assertTrue(array1.equals(array2));



}

}

Anime

Com certeza tem algo errado!

Quando for postar código use a tag code… Aqui explica como usá-la… http://www.guj.com.br/posts/list/50115.java

Nesse tutorial explica exatamente o que aconteceu no seu teste…http://www.guj.com.br/java/3586-testes-com-junit

R

Obrigado pela ajuda.

Anime

Por nada! :wink:

Criado 10 de julho de 2011
Ultima resposta 10 de jul. de 2011
Respostas 5
Participantes 2