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

Testa Maioridade, esta certo?

Criei Classes para verificar meu aprendizado sobre o conteúdo visto até esta videoaula. Por favor deem o feedback.

package maioridade;

public class Individuo {

    private String nome;
    private int idade;

    public Individuo(String nome, int idade) {
        this.nome = nome;
        this.idade = idade;
    }

    //Método para fazer anos de aniversário e ter igual a 18 anos
    public int fazerDezoitoAnos(int anos) {
        return this.idade + anos;
    }

    public String getNome() {
        return nome;
    }

    public int getIdade() {
        return idade;
    }
}
package maioridade;

import org.junit.Assert;
import org.junit.jupiter.api.Test;

public class IndividuoTest {

    @Test
    public void testaIdadeMenorDezoito() { 
        //faz aniversário, mas não tem 18 anos
        Individuo id = new Individuo("Jorge", 15);
        Assert.assertEquals(18, id.fazerDezoitoAnos(1));
    }

    @Test
    public void testaIdadeMaiorDezoito() { 
        //faz aniversário e tem mais de 18 anos
        Individuo id = new Individuo("Jorge", 18);
        Assert.assertEquals(18, id.fazerDezoitoAnos(3));
    }

    @Test
    public void testaIdadeIgualDezoito() { 
        //não faz aniversário, mas tem 18 anos
        Individuo id = new Individuo("Jorge", 18);
        Assert.assertEquals(18, id.fazerDezoitoAnos(0));
    }
}

Execução: Insira aqui a descrição dessa imagem para ajudar na acessibilidade O único teste que fica tudo "ok", tudo ocorrendo bem é o teste de idade igual a 18 anos. Os outros não deram "ok" por não terem 18 anos, certamente.

O que acharam?

2 respostas
solução!

Oi Lucas,

O exemplo é válido, mas tem 2 testes falhando. Os testes não devem falhar, pois quando um teste falha sigfnifica que tem algum erro no código, que poder ser erro no código da classe de teste ou na classe sendo testada.

No seu exemplo, os dois primeiros testes deveriam ter um assertNotEquals, pois o valor devolvido pelo método não pode ser 18.

Eu vou consertar isso, obrigado!!