A Influ Ncia Do TDD No Design Da Aplica O

3189 palavras 13 páginas
Desenvolvimento guiado por testes

Janeiro / 2013
Prof. Rafael Guimarães Sakurai

Desenvolvimento Guiado por Testes - Universidade Metodista de São Paulo

Os testes influenciando o design do código
Durante o desenvolvimento guiado por testes (TDD), aprendemos a criar métodos e classes que possuem objetivos específicos, porque quando temos uma classe ou método com diversas responsabilidades, os testes começam a ficar complexos ou muito difíceis de serem feitos.
!

Vamos criar uma funcionalidade, para validar se a placa de um veículo pode

circular durante o rodízio de veículos. A tabela a seguir apresenta os dias e o finais das placas que não podem circular:

!

Dia

Final da placa

Segunda

1e2

Terça

3e4

Quarta

5e6

Quinta

7e8

Sexta

9e0

Por onde começamos a implementar o código? Criar uma classe valida as placas?

Criar uma classe para representar os dias da semana? Nada disso, precisamos começar pensando o que precisamos testar e criar o primeiro teste que falhe.
!

Inicialmente vamos ter os seguintes testes:
• Precisamos testar se as placas de final 1 e 2 não podem circular na segunda, mas podem circular na terça, quarta, quinta e sexta.
• Precisamos testar se as placas de final 3 e 4 não podem circular na terça, mas podem circular na segunda, quarta, quinta e sexta.
• Precisamos testar se as placas de final 5 e 6 não podem circular na quarta, mas podem circular na segunda, terça, quinta e sexta.
• Precisamos testar se as placas de final 7 e 8 não podem circular na quinta, mas podem circular na segunda, terça, quarta e sexta.
• Precisamos testar se as placas de final 9 e 0 não podem circular na sexta, mas podem circular na segunda, terça, quarta e quinta.

!

Vamos começar criando a classe de teste para testar se as placas de final 1 ou 2

não podem circular na segunda, mas podem circular na terça, quarta, quinta e sexta.

Prof. Rafael Guimarães Sakurai!

2

Desenvolvimento Guiado por Testes - Universidade Metodista de São Paulo
package

Relacionados