Testes Unitários e Mocks
1
2
3
Agenda
Padrões de Projeto
Testes Automatizados
Testando Serviços
Criando Mocks
Como São Nossos Testes?
4
Como São Nossos Testes
5
Padrões de Projetos
& Refatoração
O que é mais fácil testar, dar manutenção e garantir o funcionamento?
AntecipaParcelaDaoImpl AntecipaParcelaDaoImplRefatorado
6
Padrões de Projetos
& Refatoração
O que é mais fácil testar, dar manutenção e garantir o funcionamento?
TST-Unitario-websrcbrcombradsegsiawantecipaparceladaoAntecipaParcelaDaoImpl.java
7
Padrões de Projetos
& Refatoração
O que é mais fácil testar, dar manutenção e garantir o funcionamento?
TST-Unitario-websrcbrcombradsegsiawantecipaparceladaoAntecipaParcelaDaoImplRefatorado.java
8
Padrões de Projetos
DAO
9
Padrões de Projetos
Facade (Façade)
10
Testes Automatizados
TDD
Demanda
Atividades
TDD encoraja designs de código simples e inspira confiança!
Beck, K. Test-Driven Development by Example
1. Escrever Testes!
2. Execute os testes: Eles falharão!
3. Escrever os Códigos.
4. Execute os testes Automatizados
5. Refatore
6. Teste
“O teste é o primeiro cliente do seu código e o
ditado diz que o cliente sempre tem a razão.”
Testes unitários incentivam o refactoring.
11
Testes Automatizados
Porque usar testes Unitários
Automatizados??
Demanda
Atividades
Testes de unidade servem como
documentação.
Testes unitários permitem maior cobertura de teste.
É muito mais fácil exercitar todos os caminhos possíveis por meio de testes
unitários do que em testes manuais.
Testes unitários previnem regressão.
“Como pode? Eu nem toquei
no código dessa tela!”
O problema é que, sem testes unitários, não temos a mínima garantia de que
aquele código funciona… não temos como comparar se o refactoring que
fizemos “quebrou” ou não aquela parte do código.
Os testes exercitam o comportamento do
sistema, verificando como ele deve funcionar
sob determinadas situações.
12
Testes Automatizados
TDD
Demanda
Atividades
TDD encoraja designs de código simples e inspira confiança!
Beck, K. Test-Driven Development by Example
1. Escrever Testes!
2. Execute os testes: Eles falharão!
3. Escrever os Códigos.
4. Execute os testes Automatizados
5. Refatore
6. Teste
• Testes unitários permitem maior
cobertura de teste.
• Testes unitários previnem regressão.
• Testes unitários incentivam
o refactoring.
• Testes de unidade servem como
documentação.
13
Demanda
Atividades
Testes Automatizados
Antes de Usar
https://github.com/fbeli/TST-Unitario-web.git
https://github.com/fbeli/TST-Unitario.git
Código Fonte em:
14
Demanda
Atividades
Testes Automatizados
Testando Serviços
15
Demanda
Atividades
Testes Automatizados
Testando Serviços
TST-Unitario-webtestbrcomworkshopValidacaoTest.java
16
Demanda
Atividades
Testes Automatizados
Criando Mocks
TST-Unitario-webtestbrcomworkshopTesteWorkshopService.java
17
Demanda
Atividades
Testes Automatizados
Criando Mocks
TST-Unitario-webtestbrcomworkshopTesteWorkshopFacade.java
18
Demanda
Atividades
Testes Automatizados
Testes de Integração
frederico.belisario@provider-it.com.br
+55 21 3622.8243
www.provider-it.com.br
19

Testes unitários e Mocks