Aula 07 - Criando a Classe Livro

Um pouco mais de TDD
Nesta aula continuaremos a usar a metodologia TDD. Portanto, iniciaremos criando a Classe de teste para a Classe Livro, e em seguida vamos usar as ferramentas de ajuda instantânea do Eclipse para nos ajudar a criar a Classe Livro propriamente dita.
Recapitulando os objetivos da nossa aplicação:
  • Manter uma lista dos nossos Livros
  • Manter uma lista das Pessoas para as quais emprestamos livros
  • Ser possível ver quem pegou emprestado qual livro
Neste ponto, nós já temos uma Classe Pessoa capaz de tratar as pessoas para as quais nós emprestamos Livros. Agora nós precisamos da Classe Livro, para tratar dos Livros que possuímos.
Então, vamos criar a Classe de teste para ela, assim:
Na janela que é apresentada, vamos informar o nome da nossa Classe de teste, deixando o nome da Classe sendo testada vazio, pois ele ainda não existe, claro.
O que vai nos levar a isso:
Vamos falar rapidamente sobre a Classe Livro. Quais são os atributos necessários à nossa Classe Livro?
  • título. (por exemplo: "Menino Maluquinho")
  • autor. (por exemplo: "Ziraldo")
  • Pessoa que possui o Livro. (objeto do tipo Pessoa)
Vamos mais uma vez usar as facilidades do Eclipse para nos ajudar neste processo.
Primeiro, vamos criar o método testLivro para testar o método Construtor. Lembre-se: basta começar a digitar o modificador "public" e CTRL+Espaço, assim:
Preenchendo os espaços adequadamente, teremos:
Vamos seguir adiante usando as facilidades do Eclipse para criar uma instância da Classe Livro. Para isso, basta digitar "new" e CTRL+Espaço, assim:
O que nos apresenta o seguinte resultado:
Mais uma vez, preenchendo os espaços adequadamente, teremos:
Reparem que: desta vez o nosso método construtor recebe como parâmetro o nome do Livro.
Completando com os métodos de teste propriamente ditos, teremos:
Reparem que a Classe de teste apresenta um erro de compilação. Claro, pois a Classe Livro, ainda não existe. Mas mesmo assim, o Eclipse nos permite executar os testes, então vamos fazer isso e ver o que acontece, assim:
O Eclipse nos alerta do erro, mas permite prosseguir:
Resultando no seguinte:
Como era de se esperar, lá estão os erros indicando a não existência da Classe Livro.
Vamos ver agora, como o Eclipse pode nos ajudar a criar a Classe Livro e todos os seus elementos de sustentação.
Começaremos usando o botão direito do mouse sobre o nome da classe com erro, e solicitar a sua criação, assim:
Na janela que é apresentada, precisamos alterar a pasta onde a Classe vai ficar localizada, pois o valor default usado é o mesmo local da Classe de teste, e não é isso que desejamos.
Vamos selecionar a pasta padrão do nosso projeto, ficando assim:
Gerando o seguinte:
Vamos voltar à Classe de teste e cuidar do próximo erro:
Selecionado a opção de criar o método Construtor, teremos:
Salvando a Classe Livro alterada, podemos cuidar do próximo erro:
Gerando o seguinte:
Mais uma vez, salvando a Classe Livro alterada, podemos cuidar do próximo erro:
E mais uma vez, selecionado a opção de criar o método Construtor, teremos:
E agora, salvando a Classe Livro alterada, os erros se foram:
Agora que a nossa Classe de teste não tem mais erros de compilação, podemos voltar nossa atenção para a Classe Livro propriamente dita, e escrever o nosso método Construtor.
Mas reparem, que ao gerar o nosso método Construtor de forma automática, o Eclipse colocou lá um comentário especial, começando pela palavra chave "TODO", que indica uma tarefa pendente.
Mais uma facilidade do Eclipse, é uma view que exibe todas as tarefas pendentes. Vamos acioná-la, assim:
O que nos apresenta o seguinte:
Vamos então executar a tarefa pendente e implementar o nosso método Construtor da Classe Livro, assim:
Executando o teste novamente, teremos o seguinte resultado:
Reparem que o nome do autor não é o esperado, pois esperávamos por "Ziraldo", mas o método construtor gera "Autor Desconhecido" por default.
Para corrigir esta situação, devemos poder definir o nome do autor, vamos então implementar os métodos get e set que vão nos permitir manipular os atributos da Classe Livro.
Para isso, vamos mais uma vez, usar as facilidades que o Eclipse nos dá, assim:
Na janela que se abre, vamos selecionar os métodos get e set para o atributo autor, já para o atributo título, apenas o get, visto que podemos definir o título diretamente no método Construtor, assim:
Gerando o seguinte resultado final:
De volta ao nosso método de teste, podemos definir o nome do autor correto, assim:
Executando o teste mais uma vez, teremos:
Portanto, vamos revisar como foi criada a Classe Livro usando TDD:
  1. Criar a classe LivroTest
  2. Criar o método testLivro() para testar o construtor
  3. Usar os facilitadores do Eclipse para criar a Classe Livro
  4. Usar os facilitadores do Eclipse para criar os métodos get e set
  5. Alterar o teste para definir o valor correto ao atributo autor
  6. Executar com sucesso o método de teste

Nenhum comentário:

Postar um comentário