Treinamento Testes Unitários - parte 2

1,732 views
1,701 views

Published on

Treinamento de Testes Unitários, Integração Contínua com Hudson, Maven 2, Spring, Mockito e TDD na ilegra em 2009

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,732
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
94
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Treinamento Testes Unitários - parte 2

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

×