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

Os getters de uma classe deve ter teste/spec?

Olá pessoal!

Nesta aula foram criados os getters (ex: getProcedimentos(), getData()..) para as variáveis "privadas" da classe Consulta:

function Consulta(paciente, procedimentos, particular, retorno, data) {

    var clazz = {
        preco : function() {
            if(retorno) return 0;

            var precoFinal = 0;

            procedimentos.forEach(function(procedimento) {
                if("raio-x" == procedimento) precoFinal += 55;
                else if("gesso" == procedimento) precoFinal += 32;
                else precoFinal += 25;
            });

            if(particular) precoFinal *= 2;

            return precoFinal;
        },

        getNome : function() { return paciente; },
        getProcedimentos : function() { return procedimentos; },
        isParticular : function() { return particular; },
        isRetorno : function() { return retorno; },
        getData : function() { return data; }

    }

    return clazz;
};

Dúvida: em um projeto real, devem ser criados testes (specs) para os getters?

Pergunto porque, mesmo sendo algo simples considerando esta classe (os getters apenas retornam a variável), com o tempo este getter pode mudar/crescer e, neste caso o teste garantiria que o retorno deve continuar sendo o que foi definido, ou acusaria erro, "obrigando" o desenvolvedor/responsável a analisar/mudar o teste.

Atenciosamente.

3 respostas
solução!

Boa tarde, Elías! Como vai?

Vc tem total razão na motivação que vc levantou! E vou além! Um teste para os getters por exemplo pode acusar erros em outras partes do código, como por exemplo no construtor de uma classe ou nos setters! Afinal de contas, se houver algum tipo de problema nesses lugar, o valor retornado pelo getter não estará correto!

Então, pode mandar ver nos testes dos seus getters e de outros métodos "simples" mas que podem acabar nos jogando nas trevas em situações inusitadas!

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Olá Gabriel! Tudo bem aqui, e contigo?

Peguei a ideia sim, e a tua (ótima) explicação reforçou ainda mais a importância destes testes.

Obrigado pelo retorno!

Atenciosamente.

Opa, Elías! Tudo ótimo! Por nada! Fico feliz que a explicação tenha feito as coisas clarearem aí pra vc! Sempre que tiver qualquer dúvida é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!