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

Dúvida no Ex. 7 da Aula 3 - Praticando Test-Driven Development (TDD)

Não consegui entender muito bem como fazer o teste para esse exercicio

3 respostas

Oi Paulo,

A primeira parte é pensar em cenários. Você entendeu as regras para que o ano seja ou não bissexto? Comece a pensar agora nos mais diferentes cenários. Por exemplo, pense em um ano bissexto, pense em um ano não bissexto, pense em um ano bissexto que segue a primeira regra, e assim por diante.

Consegue dar esse primeiro passo?

Um abraço!

Olá Maurício, eu consegui pensar nos cenários, o problema é que eu não consigo pensar no código para testar. Nos outros exercícios sempre instanciava um objeto da classe que eu gostaria de testar e montava o cenário e em seguida o teste que eu gostaria de executar. Mas dessa vez a minha classe contém somente esse código:

public class AnoBissexto
    {
        public bool EhBissexto(int ano)
        {
            if (DateTime.IsLeapYear(ano))
                return true;
            else
                return false;
        }
    }

E do jeito que está eu não consigo pensar em como montar um código que teste isso.

solução!

Oi Paulo,

Como você já implementou a função, agora é testar. Sua função já retorna verdadeiro se o ano for bissexto, e falso caso contrário.

O primeiro cenário pode ser, por exemplo, 2015, que não é bissexto:

new AnoBissexto().EhBissexto(2015) == false

Depois, um outro teste com 2016, que é bissexto:

new AnoBissexto().EhBissexto(2016) == true

Pronto, você testou a função! Você pode até passar mais um ou dois anos bissextos e não bissextos, por exemplo.

No entanto, você usou a biblioteca do C# para resolver o problema (usando o IsLeapYear). Na prática, claro que você vai usá-lo, mas aqui a graça é implementar a função do zero, para que fique mais desafiador.

Um abraço!