Treinamento Testes Unitários - parte 2
Post on 11-Jun-2015
1594 Views
Preview:
DESCRIPTION
Transcript
Testes Unitários
Setembro/2009
Para DesenvolvedoresParte II
Diego Pacheco
Arquiteto de Softwarehttp://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
1. Instalar o Eclipse do Instrutor;
2. Instalar e configurar o Maven 2 ;
3. Fazer checkout do repositório da máquina do instrutor;
4. Criar Testes unitários utilizando só TestNG;
5. Modificar os testes para adicionar suporte ao Spring;
6. 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.
a) Testar Parâmetros inválidos e nulos.
b) Testar se o comissionamento (RN002) e a baixa de estoque (RN003) estão corretos.
c) 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
ilegra 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ável
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 Koskela
•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/
Siga a ilegra no twitterhttp://www.twitter.com/ilegra
top related