Upload
frederico-belisario
View
241
Download
0
Embed Size (px)
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-web\src\br\com\bradseg\siaw\antecipaparcela\dao\AntecipaParcelaDaoImpl.java
7
Padrões de Projetos& Refatoração
O que é mais fácil testar, dar manutenção e garantir o funcionamento?\TST-Unitario-web\src\br\com\bradseg\siaw\antecipaparcela\dao\AntecipaParcelaDaoImplRefatorado.java
8
Padrões de Projetos
DAO
9
Padrões de Projetos
Facade (Façade)
10
Testes Automatizados
TDD
DemandaAtividades
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 Automatizados5. Refatore6. 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??
DemandaAtividades
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
DemandaAtividades
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 Automatizados5. Refatore6. 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
DemandaAtividades
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
DemandaAtividades
Testes Automatizados
Testando Serviços
15
DemandaAtividades
Testes Automatizados
Testando Serviços\TST-Unitario-web\test\br\com\workshop\ValidacaoTest.java
16
DemandaAtividades
Testes Automatizados
Criando Mocks\TST-Unitario-web\test\br\com\workshop\TesteWorkshopService.java
17
DemandaAtividades
Testes AutomatizadosCriando Mocks
\TST-Unitario-web\test\br\com\workshop\TesteWorkshopFacade.java
18
DemandaAtividades
Testes Automatizados
Testes de Integração