Teste Positivo mais não com resultado Esperado?

1 resposta
charles.eduardo

Bom Pessoal estou tentando fazer o teste da classe controle segue a seguir:

package br.com.edesignerbrasil.endereco.dominio.controle;

import br.com.edesignerbrasil.endereco.dominio.Pais;
import br.com.edesignerbrasil.endereco.persistencia.IFabricaDePersistencia;
import br.com.edesignerbrasil.endereco.persistencia.IPais;
import br.com.edesignerbrasil.endereco.persistencia.impl.FabricaDePersistencia;
import br.com.edesignerbrasil.execao.EdesignerBrasilException;
import java.util.List;

public class PaisController {

    public void gravarPais(Pais novoPais) throws EdesignerBrasilException{
        
        IFabricaDePersistencia fabricaPersistencia = new FabricaDePersistencia();
        IPais pais = fabricaPersistencia.getPaisDAO();
        pais.addPais(novoPais);
    }
    
    public void removerPais(Pais excluirPais) throws EdesignerBrasilException{
        
        IFabricaDePersistencia fabricaPersistencia = new FabricaDePersistencia();
        IPais pais = fabricaPersistencia.getPaisDAO();
        pais.removePais(excluirPais);
    }
    
    public void atualizaPais(Pais atualizarPais) throws EdesignerBrasilException{
        
        IFabricaDePersistencia fabricaPersistencia = new FabricaDePersistencia();
        IPais pais = fabricaPersistencia.getPaisDAO();
        pais.updatePais(atualizarPais);
        
    }
    
    public void getPais(int idPais) throws EdesignerBrasilException{
        
        IFabricaDePersistencia fabricaPersistencia = new FabricaDePersistencia();
        IPais pais = fabricaPersistencia.getPaisDAO();
        pais.getPais(idPais);
    }
    
    
    //Problemas na parte de listar paises
    public List<Pais> getAllPais() throws EdesignerBrasilException{
        
        IFabricaDePersistencia fabricaPersistencia = new FabricaDePersistencia();
        IPais pais = fabricaPersistencia.getPaisDAO();
            return pais.getAllPais();
    }
}

O restante das Classe postei em outra duvida no seguinte tópico http://www.guj.com.br/posts/list/225090.java.

Escrevi a seguinte classe de Teste:

package br.com.edesignerbrasil.endereco.dominio.controle;

import java.util.List;
import br.com.edesignerbrasil.endereco.dominio.Pais;
import br.com.edesignerbrasil.endereco.persistencia.impl.PaisDAO;
import java.util.Iterator;
import java.util.LinkedList;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import static org.junit.Assert.*;

public class PaisControllerTest {
    private int index;

    public PaisControllerTest() {
    }

    @BeforeClass
    public static void setUpClass() throws Exception {
    }

    @AfterClass
    public static void tearDownClass() throws Exception {
    }

    @Before
    public void setUp() {
    }

    @After
    public void tearDown() {
    }

    /**
     * Test of gravarPais method, of class PaisController.
     */
    @Test
    public void testGravarPais() throws Exception {
        System.out.println("gravarPais");
        Pais novoPais = new Pais();        
        novoPais.setNome("Argentina");
        PaisController instance = new PaisController();
        instance.gravarPais(novoPais);
        
    }
    
        /**
     * Test of gravarPais method, of class PaisController.
     */
    @Test
    public void testExcluirPais() throws Exception {
        System.out.println("excluirPais");
        Pais novoPais = new Pais();        
        novoPais.setNome("Argentina não");
        PaisController instance = new PaisController();
        System.out.println(novoPais.toString());
        instance.removerPais(novoPais);
        
    }

        /**
     * Test of gravarPais method, of class PaisController.
     */
    @Test
    public void testGetAllPais() throws Exception {
        System.out.println("Pegar todos os paises");
        
        System.out.println("Será listados todos os paises???");
        
        List<Pais> lista = new PaisController().getAllPais();
 
        for (Pais pais : lista) {
            System.out.println(pais.getNome());
        }

E está é a saída que eu recebo:

excluirPais
Argentina não
Pegar todos os paises
Será listados todos os paises???
null
null
null
null
null

Já tentei de varias maneiras ver a lista de todos os paises no console sempre recebo null quando tentei com iterator recebi uma saida [ null, null, null,null ].

Alguem poderia me ajudar a receber a saida esperada. Obs.: Todos os teste passaram.

1 Resposta

E

Esses testes não testam nada. É por isso que passou em todos os testes. Um teste consiste em fazer alguma coisa (como o que você já fez) e verificar se a resposta bate com a resposta esperada (mas não olhando a saída: é o próprio programa que deve conferir se a resposta bate com a resposta esperada). Portanto, normalmente testes não têm “System.out.println”.

Em um programa JUnit, há um monte de “Assert.assertAlgumacoisa” que deve ser usado no seu código. Não há nada disso aí nos seus testes.

De qualquer maneira, a saída está errada, obviamente, porque o programa a ser testado está errado. Pergunte ao desenvolvedor do programa por que é que ele não está cadastrando corretamente os nomes dos países.

Criado 10 de dezembro de 2010
Ultima resposta 10 de dez. de 2010
Respostas 1
Participantes 2