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

Necessidade do size em testes de lista

Estava pensando em testes como o abaixo, no qual se verifica o conteúdo da lista retornado e até a ordem de todos os itens. É necessário verificar o size da lista? Isso não acaba sendo uma consequência? Pois se todo o conteúdo estiver certo o size estará certo.

    @Test
    public void deveRetornarApenasLeiloesAbertosComSeteOuMaisDias(){
        Calendar dataLeilao1 = Calendar.getInstance();
        dataLeilao1.add(Calendar.DATE, -6);

        Leilao leilao1 = new Leilao();
        leilao1.setDataAbertura(dataLeilao1);

        Leilao leilao2 = new Leilao();
        Calendar dataLeilao2 = Calendar.getInstance();
        dataLeilao2.add(Calendar.DATE, -7);

        leilao2.setDataAbertura(dataLeilao2);

        session.save(leilao1);
        session.save(leilao2);

        assertThat(leilaoDao.antigos(), hasItem(leilao2));
    }
2 respostas

Tá já sei, é que nesse caso a lista pode devolver mais itens e se ela trouxer todos os que eu espero e na ordem correta aí o teste não quebraria. É isso?

solução!

A idéia é que tentamos testar todos os retornos. O tamanho da lista é como você falou, a lista pode devolver mais de um item. Outra vantagem é que se a lista vier vazia você vai saber sem ter que ler a exceção. Nesse caso não seria tão necessário porque você adiciona o item na lista na mão mas em casos de testes de DAO ou que a lista venha preenchida de outro lugar os testes são necessários.