Testes Unitários Setembro/2009 Para Desenvolvedores Parte II Diego Pacheco Arquiteto de Software http://diego-pacheco.blogspot.com http://www.twitter.com/diego_pacheco
Agenda Vídeo  Revisão Spring Mockito Novas Duplas Timer Revisão de código Competição Happy Hour Hands on: Exercícios
É fácil testar?
TestNG Framework de teste unitário para Java; Utiliza anotações; Integração com Eclipse e Maven 2; Grupos de Testes ; Possui Integração com Spring Framework; Relatório de resultado em HTML; Fácil de usar e com boa documentação.
TestNG Integração com Spring Framework: Criar classe de testes que estenda a classe  AbstractTestNGSpringContextTests   do Spring Framework . Adicionar  a anotação  @ContextConfiguration( locations={ "/spring-test-beans.xml" } )   e apontar para onde está o arquivo de configurações do Spring Framework. Injetar serviços com anotações. Ex.:  @Autowired  e  @Test( enabled=false )  para que o método setter de injeção não seja testado.
TestNG Arquivo típico de beans do Spring
Mocks Framework de mock para Java DSL Fluente mock when thenReturn doThrow Simples e Fácil
Mocks Exemplo prático
Novas Duplas
Novas Duplas pair- aye-aye pair -tarsier pair- proboscis-monkey pair- axolotl
Timer !!!
Hands on: Exercicios Todos os exercicios deverão ser feitos utilizando integração contínua(Hudson) , Controle de versão(SVN) e o método TDD. O Commit só deverá ser realizado após os testes construído e executado sem nenhum erro.
Hands on: Exercicios Instalar o Eclipse do Instrutor; Instalar e configurar o Maven 2 ; Fazer checkout do repositório da máquina do instrutor; Criar Testes unitários utilizando só TestNG; Modificar os testes para adicionar suporte ao Spring; Modificar os testes para adicionar suporte ao Mockito.
Hands on: Exercicios Testes que devem ser criados: Testes unitários para o serviço de vendas. Testar Parâmetros inválidos e nulos. Testar se o comissionamento (RN002)  e a baixa de estoque (RN003) estão corretos. Testar o método estornar() Regras de Negocio
Revisar o que foi implementado Revisar o código de testes Revisar a necessidade de testes Revisão de código
i legra Speed Test Champ Unit Test  Champ Seja o  Usain Bolt  dos testes unitários !
Happy Hour !!! Criatividade TDD Comprometimento Testes unitários Capacidade Técnica Integração   Contínua Amigáve l Mocks/TestNG
Dúvidas?
Referências Livros: Prentice Hall PTR 2005 -  Agile Java Crafting Code with Test-Driven Development - Jeff Langr Addison Wesley 2006 - Agility and Discipline made easy - Practices from OpenUP and RUP - Per Krol John Wiley & Sons 2007 - Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional -  Rex Black Visual Books 2008 – Testes Funcionais de Software – Leonardo Molinari Manning 2007 -  Test Driven TDD and Acceptance TDD for Java Developers - Lasse K oskela Addison Wesley 2002 - Test-Driven Development By Example - Kent Beck Sites/Blogs: http://diego-pacheco.blogspot.com/search/label/testes http://www.testexpert.com.br/ http://diariodaqualidade.blogspot.com/ https://hudson.dev.java.net/ http://en.wikipedia.org/wiki/Test-driven_development http://www.agiledata.org/essays/tdd.html http://testng.org/doc/index.html http://googletesting.blogspot.com/ http://testobsessed.com/ http://www.wthreex.com/rup/process/modguide/md_untst.htm http://www.infoq.com/testing/ http://mockito.org/
Twitter Siga a  i legra no twitter http://www.twitter.com/ilegra
 

Treinamento Testes Unitários - parte 2

  • 1.
  • 2.
    Testes Unitários Setembro/2009Para Desenvolvedores Parte II Diego Pacheco Arquiteto de Software http://diego-pacheco.blogspot.com http://www.twitter.com/diego_pacheco
  • 3.
    Agenda Vídeo Revisão Spring Mockito Novas Duplas Timer Revisão de código Competição Happy Hour Hands on: Exercícios
  • 4.
  • 5.
    TestNG Framework deteste unitário para Java; Utiliza anotações; Integração com Eclipse e Maven 2; Grupos de Testes ; Possui Integração com Spring Framework; Relatório de resultado em HTML; Fácil de usar e com boa documentação.
  • 6.
    TestNG Integração comSpring Framework: Criar classe de testes que estenda a classe AbstractTestNGSpringContextTests do Spring Framework . Adicionar a anotação @ContextConfiguration( locations={ "/spring-test-beans.xml" } )   e apontar para onde está o arquivo de configurações do Spring Framework. Injetar serviços com anotações. Ex.: @Autowired e @Test( enabled=false ) para que o método setter de injeção não seja testado.
  • 7.
    TestNG Arquivo típicode beans do Spring
  • 8.
    Mocks Framework demock para Java DSL Fluente mock when thenReturn doThrow Simples e Fácil
  • 9.
  • 10.
  • 11.
    Novas Duplas pair-aye-aye pair -tarsier pair- proboscis-monkey pair- axolotl
  • 12.
  • 13.
    Hands on: ExerciciosTodos os exercicios deverão ser feitos utilizando integração contínua(Hudson) , Controle de versão(SVN) e o método TDD. O Commit só deverá ser realizado após os testes construído e executado sem nenhum erro.
  • 14.
    Hands on: ExerciciosInstalar o Eclipse do Instrutor; Instalar e configurar o Maven 2 ; Fazer checkout do repositório da máquina do instrutor; Criar Testes unitários utilizando só TestNG; Modificar os testes para adicionar suporte ao Spring; Modificar os testes para adicionar suporte ao Mockito.
  • 15.
    Hands on: ExerciciosTestes que devem ser criados: Testes unitários para o serviço de vendas. Testar Parâmetros inválidos e nulos. Testar se o comissionamento (RN002) e a baixa de estoque (RN003) estão corretos. Testar o método estornar() Regras de Negocio
  • 16.
    Revisar o quefoi implementado Revisar o código de testes Revisar a necessidade de testes Revisão de código
  • 17.
    i legra SpeedTest Champ Unit Test Champ Seja o Usain Bolt dos testes unitários !
  • 18.
    Happy Hour !!!Criatividade TDD Comprometimento Testes unitários Capacidade Técnica Integração Contínua Amigáve l Mocks/TestNG
  • 19.
  • 20.
    Referências Livros: PrenticeHall PTR 2005 - Agile Java Crafting Code with Test-Driven Development - Jeff Langr Addison Wesley 2006 - Agility and Discipline made easy - Practices from OpenUP and RUP - Per Krol John Wiley & Sons 2007 - Pragmatic Software Testing: Becoming an Effective and Efficient Test Professional - Rex Black Visual Books 2008 – Testes Funcionais de Software – Leonardo Molinari Manning 2007 - Test Driven TDD and Acceptance TDD for Java Developers - Lasse K oskela Addison Wesley 2002 - Test-Driven Development By Example - Kent Beck Sites/Blogs: http://diego-pacheco.blogspot.com/search/label/testes http://www.testexpert.com.br/ http://diariodaqualidade.blogspot.com/ https://hudson.dev.java.net/ http://en.wikipedia.org/wiki/Test-driven_development http://www.agiledata.org/essays/tdd.html http://testng.org/doc/index.html http://googletesting.blogspot.com/ http://testobsessed.com/ http://www.wthreex.com/rup/process/modguide/md_untst.htm http://www.infoq.com/testing/ http://mockito.org/
  • 21.
    Twitter Siga a i legra no twitter http://www.twitter.com/ilegra
  • 22.