2
respostas

Criar metodo para gerar entrada de testes ?

Podemos escrever código para facilitar a entrada dos testes ? Por exemplo: Tenho uma lista de pessoas em que cada pessoa pode ter uma lista de telefones. Quero calcular o somatorio da quantidade de telefones, ou quero verificar se existem telefones repetidos na minha lista de pessoas.

É importante que eu crie individualmente todos os objetos da minha entrada (no caso a lista de pessoas e a lista de telefones por pessoa) ou posso criar um método que gere listas de telefone para mim.

A questão ainda vai mais a fundo, gero essa entrada por meio de métodos, ou parto logo para um teste de integração envolvendo um banco de dados ?

2 respostas

Fala Maisa, tudo bem?

Na abordagem de BDD, existe o esquema de construir o teste estruturando ele com “dado, quando, então” ou "given, when, then", para descrever vários cenários. Ou seja, para cada teste você pode construir o cenário de entrada, criar os objetos, popular dados, etc... para então realizar uma determinada ação com esses dados e validar o resultado esperado. Um teste de integração também é importante, mas um teste não anula o outro, pode incluir unitário, integração, funcional, etc...

Abraço!

Oi Maisa, utilizar um método é uma boa opção para ganhar tempo durante a fase de desenvolvimento. Ou seja, testes simples serão desenvolvidos mais rápidos. Acredito que seja mais trabalhoso empreender testes abrangentes com o uso de métodos. Por outro lado, quando vc partir para a integração com banco de dados, cenários distintos virão. Provavelmente vc terá novas questões com as quais deverá lidar.

Por exemplo, vc pode criar a classe pessoa:

class Pessoa{

    public Pessoa(String nome){
        this.nome = nome;
    }
    private String nome;
    List<String> telefones;
}

Você pode criar outra Classe que instancia os objetos Pessoa....

    class PessoaTest{
        private String nomes [] = {"João", "Maria", "José"};
        private String telefones [] = {"00000000", "11111111", "22222222"};

    }

// aqui você pode utilizar um laço for para instanciar os objetos e definir as variáveis de instância da classe Pessoa (inclusive telefone), assim vc terá uma quantidade inicial de dados para poder realizar seus testes.

    }
}

O "exemplo" acima é apenas uma ideia para vc ter um ponto de partida do que lhe pode ser mais útil de acordo com a sua necessidade atual. Espero ter ajudado!=)