terça-feira, 30 de outubro de 2012

Test-Driven Development: Teste e Design no Mundo Real, de Mauricio Aniche - parte 2

Como escrevi em post anterior, estou lendo o livro sobre TDD do Mauricio Aniche.

Terminei hoje de ler os Capítulos 9 e 10.

O Capítulo 9 trata de TDD e Encapsulamento. Segundo Aniche, "encapsular é esconder os detalhes de como a classe realiza sua tarefa; as outras classes devem conhecer apenas o quê ela faz." Encapsulamente sempre foi um dos quesitos principais da Orientação a Objetos (OO). Lembro de textos que li quando OO ainda era novidade nos cursos de graduação em Computação no Brasil (na década de 1990, quando estudei na UFAL) e todos os textos enfatizavam a importância do encapsulamento.

Neste capítulo, Aniche apresenta o exemplo de um Processador de Boletos.  Primeiro apresenta um design com encapsulamento falho, mostra como os testes junto com o conhecimento de design OO indicam esta falha e depois apresenta a correção.

O núcleo do TDD
Fonte: http://www.javacodegeeks.com/2012/05/test-driven-development-win-win.html

 Entre outras coisas, apresenta conceitos como "Tell, Don't Ask", "Lei de Demeter", "intimidade inapropriada", "classes anêmicas". Enfim, aprendi bastante com este capítulo.

O Capítulo 10 é sobre Testes de Integração e TDD. Apresenta o que são Testes de Sistema, Testes de Integração e Testes de Unidade. Discute quando não usar Mocks. Ensina a fazer testes de DAOs. Questiona se devemos usar TDD em Testes de Integração ou em Aplicações Web. Tudo muito bem didático e fácil de entender.
  

Nenhum comentário:

Postar um comentário