Anda di halaman 1dari 22

Introduo ao Teste

Unitrio com JUnit


Wolley W. Silva
Agenda

Testes de Unidade

Junit

Primeiro Teste

Executando testes com Junit e


NetBeans

Passos para criao de testes


unitrios
Testes de Unidade

Testes de unidade so testes que


testam apenas uma classe ou
mtodo veri!cando se seu
comportamento est de acordo com
o dese"ado.
Testes de Unidade

Unidade

Unidade # a menor parte testvel de


uma aplicao. Em uma lin$ua$em de
pro$ramao orientada a o%"etos como
o Java a menor unidade # um m#todo.

&uando criamos um teste de unidade


simulamos a execuo de m#todos da
classe a ser testada.

'a(emos isso passando par)metros *no


caso de ser necessrio+ ao m#todo testado
e de!nimos o resultado ,ue esperamos.

Se o resultado -or i$ual ao ,ue de!nimos


como esperado o teste passa. .aso
contrrio -al/a.
Testes de Unidade

0eali(ar dep1sitos de ,ual,uer valor

0eali(ar sa,ue apenas ,uando o


saldo -or su!ciente.
Primeiros Testes

.riar um Novo Pro"eto Java

.riar a .lasse .onta.orrente


Primeiros Testes
Primeiros Testes

2nicialmente testamos o m#todo depositar


com um m#todo main.
Primeiros Testes
JUnit

3 JUnit *"unit.or$+ # um -rame4or5


muito simples para -acilitar a criao
destes testes de unidade e em
especial sua execuo.

Ele possui al$uns m#todos ,ue


tornam seu c1di$o de teste %em
le$6vel e -cil de -a(er as asser7es.
JUnit

Assero8

# uma a!rmao8 al$uma condio ,ue


em determinado ponto de execuo
voc9 ,uer $arantir ,ue # verdadeira.

Se esta no -or verdade o teste deve


indicar uma -al/a a ser reportada para
o pro$ramador indicando um poss6vel
%u$.
Executando testes com Junit e
NetBeans

.licando com o %oto direito do mouse so%re


pacotes de c1di$o -onte : Novo : outros
Passo ;8 Selecione Teste JUnit
Passo <8
Nome da .lasse8
.onta.orrenteTest
=ocali(ao8 Pacotes de
Teste
Pacote8 .onta.orrente
No pro"eto -oi criado um novo diret1rio de pacotes Pacotes
de Teste com o pacote .onta.orrente ,ue contem a classe
.onta.orrenteTest.
Esta .lasse -a( uso do 'rame4or5 de Teste Unitrio Junit.
Executando testes com Junit e
NetBeans

Escrevendo o primeiro teste unitrio com JUnit


Executando testes com Junit e
NetBeans
Anotao Junit para
denir um mtodo de teste
!ene um cenrio de teste
"todo esttico da
classe Assert para
#alidar o teste
$esultado do
Teste

%on#eno e Anotao

Para cada classe teremos uma classe


correspondente por conveno com o su!xo
Test ,ue contar todos os testes relativos aos
m#todos dessa classe.

Em ve( de um main criamos um m#todo com


nome expressivo para descrever a situao ,ue
ele est testando.

>notamos este m#todo com ?Test ,ue -ar


com ,ue o JUnit sai%a no momento de execuo
,ue a,uele m#todo deve ser executado.
Executando testes com Junit e
NetBeans

Asser&es
Uma assero # uma veri !cao. Ela # reali(ada
atrav#s dos m#todos estticos da classe >ssert
importada do or$."unit.
Executando testes com Junit e
NetBeans
3 primeiro ar$umento # o ,ue c/amamos de expected e
ele representa o valor ,ue esperamos para ar$umento
se$uinte *c/amado de actual+. Se o valor real -or di-erente
do esperado o teste no passar e uma %arrin/a vermel/a
ser mostrada "untamente com uma mensa$em ,ue di(8
expected '#alor esperado( )ut *as 'o que realmente deu(

!ou)le inexato

@ou%le # um tipo de dado inexato ao


tra%al/armos com arredondamentos. Por#m
diversas ve(es precisamos comparar o dou%le
esperado e o valor real sem nos preocupamos
com di-erenas de arredondamento ,uando elas
so muito pe,uenas.

3 JUnit trata esse caso adicionando um terceiro


ar$umento ,ue s1 # necessrio ,uando
comparamos valores dou%le ou A oat. Ele # um
delta ,ue se aceita para o erro de comparao
entre o valor esperado e o real.
Executando testes com Junit e
NetBeans
!elta
Passos para criao de testes
unitrios

@e maneira $enerali(ada o
desenvolvedor
;. Pensar primeiro em um cenrio *um
valor a ser testados+
<. Executa a ao *executa os m#todo da
classe+
B. Calida a sa6da *de!ne a assero +
!ene um cenrio de teste
Executa a ao
Passos para criao de testes
unitrios
+alida a saida
Exerc,cios

Escreva a implementao e o teste


para o se$uinte pro%lema8

=eia tr9s notas de provas de um aluno e


calcule e exi%a sua m#dia *aritm#tica+.
$esposta
.onsulta na We%

>postila .>E=UD dispon6vel em8


/ttp8EE444.caelum.com.%rEapostilaF"a
vaFtestesF"s-F4e%FservicesFdesi$nFpa
tternsEtestesFautomati(adosE

Teste Unitrios8
/ttp8EEsiep.i-pe.edu.%rEandersonE%lo$E
G
pa$eHidIJKL

=ivro TestF@riven @evelopment


Dauricio >nic/e. Site8
/ttp8EEtddnomundoreal.com.%rE

Anda mungkin juga menyukai