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

Como testar valores/parâmetros inválidos?

Olá pessoal!

Para considerar como exemplo, abaixo uma classe e um respectivo teste com Jasmine:

function Paciente(nome, idade,
    peso, altura) {

    var clazz = {

        imprime : function() {
            alert(nome + " tem " + idade);
        },

        batimentos : function() {
            return idade * 365 * 24 * 60 * 80;
        },

        imc : function() {
            return peso/(altura*altura);
        }
    };

    return clazz;
}
describe("Paciente", function() {
    it("deve calcular o IMC", function() {
        var guilherme = new Paciente("Guilherme", 28, 72, 1.82);

        expect(guilherme.imc()).toEqual(72 / (1.82*1.82));
    });
});

Neste curso não encontrei nenhum teste para validar parâmetros inválidos, considerando a classe acima, por exemplo para validar a idade, peso, altura (que poderiam ter sido passados com valor nulo)...

Não deveriam existir testes para estes parâmetros inválidos? Em caso afirmativo, poderiam exemplificar considerando um dos parâmetros?

Questiono porque, na minha opinião, em um cenário real estes testes lembrariam o desenvolvedor a verificar os parâmetros na classe, até porque em outra parte do programa o desenvolvedor que instanciar esta classe provavelmente não irá lembrar de validar estes parâmetros (ou poderá pensar que os parâmetros estão sendo válidos na própria classe).

Atenciosamente.

3 respostas
solução!

Boa tarde, Elías! Como vai?

É possível sim! Dá uma olhada nesse link que ele deve te ajudar!

Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Olá Gabriel! Tudo certo e você?

Show, vai ajudar sim, obrigado pelo retorno!

Atenciosamente.

Opa, Elías! Tudo ótimo! Por nada! Se depois de ler ficar alguma questão pendente é só mandar aqui no fórum da Alura!

Grande abraço e bons estudos, meu aluno!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software