Testes unitários e Mocks

Post on 14-Apr-2017

245 views 0 download

Transcript of Testes unitários e Mocks

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

Frederico Pereira Belisario
Comparar as classes, antes e depois de refatorar.
Frederico Pereira Belisario
AntecipaParcelaDaoImpl e AntecipaParcelaDaoImplRefatorado
Frederico Pereira Belisario
Fazer um metodo simples e refatorar na hora.

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

Frederico Pereira Belisario
Comparar as classes, antes e depois de refatorar.
Frederico Pereira Belisario
AntecipaParcelaDaoImpl e AntecipaParcelaDaoImplRefatorado
Frederico Pereira Belisario
Fazer um metodo simples e refatorar na hora.

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

Frederico Pereira Belisario
Comparar as classes, antes e depois de refatorar.
Frederico Pereira Belisario
AntecipaParcelaDaoImpl e AntecipaParcelaDaoImplRefatorado

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

frederico.belisario@provider-it.com.br+55 21 3622.8243www.provider-it.com.br

19