Professional Documents
Culture Documents
JUnit 4.11
Framework para Automatizar a Execucao de Teste
Unitario
Auri Marcelo Rizzo Vincenzi1 , Marcio Eduardo Delamaro2 e
Jose Carlos Maldonado2
1 Instituto de Informatica
Organizacao
Introducao
Historico
Pre-requisitos
JUnit Basico
Instalacao
O Framework
O Exemplo
Compilando e Executando via Linha de Comando
Projeto Maven no Eclipse
Copiando a Aplicacao para o Projeto
Entendendo o Codigo
Criando Casos de Teste
Encontrando uma Falha e Corrigindo o Defeito
Metodos Especiais
JUnit Avancado
Temporizacao em Casos de Teste
Teste de Excecoes
Definindo um Conjunto de Teste
Executando os Teste sem o Eclipse
Ignorando Casos de Teste
Testes Parametrizados
Ferramentas Similares
Referencias
Vincenzi, Delamaro & Maldonado
JUnit 4.11 2/99
Organizacao Introducao JUnit Basico O Exemplo JUnit Avancado Ferramentas Similares Referencias
Introducao
Historico
Pre-requisitos
JUnit Basico
Instalacao
O Framework
O Exemplo
Compilando e Executando via Linha de Comando
Projeto Maven no Eclipse
Copiando a Aplicacao para o Projeto
Entendendo o Codigo
Criando Casos de Teste
Encontrando uma Falha e Corrigindo o Defeito
Metodos Especiais
JUnit Avancado
Temporizacao em Casos de Teste
Teste de Excecoes
Definindo um Conjunto de Teste
Executando os Teste sem o Eclipse
Ignorando Casos de Teste
Testes Parametrizados
Ferramentas Similares
Referencias
Historico
Historico
Pre-requisitos
Pre-requisitos
Introducao
Historico
Pre-requisitos
JUnit Basico
Instalacao
O Framework
O Exemplo
Compilando e Executando via Linha de Comando
Projeto Maven no Eclipse
Copiando a Aplicacao para o Projeto
Entendendo o Codigo
Criando Casos de Teste
Encontrando uma Falha e Corrigindo o Defeito
Metodos Especiais
JUnit Avancado
Temporizacao em Casos de Teste
Teste de Excecoes
Definindo um Conjunto de Teste
Executando os Teste sem o Eclipse
Ignorando Casos de Teste
Testes Parametrizados
Ferramentas Similares
Referencias
Instalacao
Instalacao (1)
Instalacao
Instalacao (2)
O Framework
O Framework JUnit
Introducao
Historico
Pre-requisitos
JUnit Basico
Instalacao
O Framework
O Exemplo
Compilando e Executando via Linha de Comando
Projeto Maven no Eclipse
Copiando a Aplicacao para o Projeto
Entendendo o Codigo
Criando Casos de Teste
Encontrando uma Falha e Corrigindo o Defeito
Metodos Especiais
JUnit Avancado
Temporizacao em Casos de Teste
Teste de Excecoes
Definindo um Conjunto de Teste
Executando os Teste sem o Eclipse
Ignorando Casos de Teste
Testes Parametrizados
Ferramentas Similares
Referencias
A Especificacao Exemplo
Compilando o Identifier
cd s r c
Executando o Identifier
Para invocar o programa, basta executar o comando abaixo, dentro
do diretorio onde o programa foi instalado:
1 cd s r c
2
3 src$ java IdentifierMain
4 Uso : I d e n t i f i e r M a i n < s t r i n g >
5
6 s r c $ j a v a I d e n t i f i e r M a i n abc12
7 Valido
8
9 s r c $ j a v a I d e n t i f i e r M a i n c o n t 1
10 Invalido
11
12 s r c $ j a v a I d e n t i f i e r M a i n 1soma
13 Invalido
14
15 s r c $ j a v a I d e n t i f i e r M a i n a123456
16 Invalido
Vincenzi, Delamaro & Maldonado
JUnit 4.11 13/99
Organizacao Introducao JUnit Basico O Exemplo JUnit Avancado Ferramentas Similares Referencias
Invocando o Eclipse
< p r o j e c t x m l n s= h t t p : // maven . a p a c h e . o r g /POM/ 4 . 0 . 0
x m l n s : x s i= h t t p : //www . w3 . o r g /2001/XMLSchemai n s t a n c e
x s i : s c h e m a L o c a t i o n= h t t p : // maven . a p a c h e . o r g /POM/ 4 . 0 . 0 h t t p : // maven . a p a c h e .
<m o d e l V e r s i o n> 4 . 0 . 0</ m o d e l V e r s i o n>
<g r o u p I d> I d e n t i f i e r</ g r o u p I d>
< a r t i f a c t I d> I d e n t i f i e r</ a r t i f a c t I d>
<v e r s i o n>1 . 0</ v e r s i o n>
<name> I d e n t i f i e r</name>
< d e s c r i p t i o n>V a l i d a d o r de i d e n t i f i c a d o r</ d e s c r i p t i o n>
<d e p e n d e n c i e s>
<d e p e n d e n c y>
<g r o u p I d> j u n i t</ g r o u p I d>
< a r t i f a c t I d> j u n i t</ a r t i f a c t I d>
<v e r s i o n>4 . 1 1</ v e r s i o n>
<s c o p e> t e s t</ s c o p e>
</ d e p e n d e n c y>
</ d e p e n d e n c i e s>
</ p r o j e c t>
Entendendo o Codigo
Entendendo o Codigo
Entendendo o Codigo
Entendendo o Codigo
Entendendo o Codigo
Entendendo o Codigo
Entendendo o Codigo
Vamos praticar?!
Vincenzi, Delamaro & Maldonado
JUnit 4.11 52/99
Organizacao Introducao JUnit Basico O Exemplo JUnit Avancado Ferramentas Similares Referencias
15 @Test
16 public void validate02 () {
17 I d e n t i f i e r i d = new I d e n t i f i e r ( ) ;
18 boolean obtido ;
19 o b t i d o = i d . v a l i d a t e I d e n t i f i e r ( ) ;
20 assertEquals ( false , obtido );
21 }
22
23 @Test
24 public void validate03 () {
25 I d e n t i f i e r i d = new I d e n t i f i e r ( ) ;
26 boolean obtido ;
27 o b t i d o = i d . v a l i d a t e I d e n t i f i e r ( A1b2C3d ) ;
28 assertEquals ( false , obtido );
29 }
31 @Test
32 public void validate04 () {
33 I d e n t i f i e r i d = new I d e n t i f i e r ( ) ;
34 boolean obtido ;
35 o b t i d o = i d . v a l i d a t e I d e n t i f i e r ( 2B3 ) ;
36 assertEquals ( false , obtido );
37 }
38
39 @Test
40 public void validate05 () {
41 I d e n t i f i e r i d = new I d e n t i f i e r ( ) ;
42 boolean obtido ;
43 o b t i d o = i d . v a l i d a t e I d e n t i f i e r ( Z#12 ) ;
44 assertEquals ( false , obtido );
45 }
Metodos Especiais
Metodos Especiais
Metodos Especiais
Metodos Especiais
Metodos Especiais
Metodos Especiais
Introducao
Historico
Pre-requisitos
JUnit Basico
Instalacao
O Framework
O Exemplo
Compilando e Executando via Linha de Comando
Projeto Maven no Eclipse
Copiando a Aplicacao para o Projeto
Entendendo o Codigo
Criando Casos de Teste
Encontrando uma Falha e Corrigindo o Defeito
Metodos Especiais
JUnit Avancado
Temporizacao em Casos de Teste
Teste de Excecoes
Definindo um Conjunto de Teste
Executando os Teste sem o Eclipse
Ignorando Casos de Teste
Testes Parametrizados
Ferramentas Similares
Referencias
Teste de Excecoes
Teste de Excecoes
[ INFO ]
[ INFO ] BUILD SUCCESSFUL
[ INFO ]
[ INFO ] T o t a l t i m e : 1 s e c o n d
[ INFO ] F i n i s h e d a t : Thu Jan 30 20 : 47 : 20 BRST 2014
[ INFO ] F i n a l Memory : 12M/148M
[ INFO ]
Vincenzi, Delamaro & Maldonado
JUnit 4.11 82/99
Organizacao Introducao JUnit Basico O Exemplo JUnit Avancado Ferramentas Similares Referencias
OK ( 8 t e s t s )
I O JUnitCore recebe de parametro o nome da(s) classe(s) de
teste que se deseja executar
I Observe, nesse caso, a necessidade de indicar para a maquina
virtual Java a localizacao dos diretorios onde se encontram as
classes da aplicacao e de teste, alem das bibliotecas do JUnit
(junit-4.11.jar e hamcrest-core-1.3.jar).
Vincenzi, Delamaro & Maldonado
JUnit 4.11 83/99
Organizacao Introducao JUnit Basico O Exemplo JUnit Avancado Ferramentas Similares Referencias
Testes Parametrizados
Testes Parametrizados
Testes Parametrizados
1 import s t a t i c org . j u n i t . Assert .;
2 import org . j u n i t . Before ;
3
import org . j u n i t . Test ;
4 import o r g . j u n i t . r u n n e r . RunWith ;
5 import org . j u n i t . runners . Parameterized ;
29 S t r i n g param , b o o l e a n r e s u l t ) {
6 import org . j u n i t . runners . Parameterized . Parameters ;
30 t h i s . param = param ;
7 31 this . result = result ;
8 import j a v a . u t i l . Arrays ;
32 }
9 import j a v a . u t i l . C o l l e c t i o n ;
33
10 34 @Before
11 @RunWith ( P a r a m e t e r i z e d . c l a s s )
35 public void i n i c i a l i z a () {
12 public c l a s s ParameterizedTestCase {
36 i d = new I d e n t i f i e r ( ) ;
13 37 }
14 private Identifier i d = new I d e n t i f i e r ( ) ;
38
15 39 @Test ( t i m e o u t = 2 0 0 )
16 p r i v a t e S t r i n g param ;
40 public void v a l i d a t e () {
17 p r i v a t e boolean r e s u l t ;
41 boolean value =
18 42 i d . v a l i d a t e I d e n t i f i e r ( param ) ;
19 @Parameters
43 assertEquals ( result , value );
20 p u b l i c s t a t i c C o l l e c t i o n <O b j e c t [] > d a t a ( ) {
44 }
21 r e t u r n A r r a y s . a s L i s t ( new O b j e c t [ ] [ ] {
45
}
22 { Abcd5 , t r u e } ,
23 { &123 , f a l s e } ,
24 { I n v @ l i d o , f a l s e }
25 });
26
}
Testes Parametrizados
1 i m p o r t o r g . j u n i t . r u n n e r . RunWith ;
2 import org . j u n i t . r u n n e r s . S u i t e ;
3
4 @RunWith ( S u i t e . c l a s s )
5 @Suite . S u i t e C l a s s e s ({
6 IdentifierTestCase . class ,
7 ParameterizedTestCase . class ,
8 // I n c l u i r o u t r a s c l a s s e s de t e s t e a q u i .
9 })
10
11 p u b l i c c l a s s TodosTestes {
12 }
Testes Parametrizados
Testes Parametrizados
Introducao
Historico
Pre-requisitos
JUnit Basico
Instalacao
O Framework
O Exemplo
Compilando e Executando via Linha de Comando
Projeto Maven no Eclipse
Copiando a Aplicacao para o Projeto
Entendendo o Codigo
Criando Casos de Teste
Encontrando uma Falha e Corrigindo o Defeito
Metodos Especiais
JUnit Avancado
Temporizacao em Casos de Teste
Teste de Excecoes
Definindo um Conjunto de Teste
Executando os Teste sem o Eclipse
Ignorando Casos de Teste
Testes Parametrizados
Ferramentas Similares
Referencias
Ferramentas Similares
Introducao
Historico
Pre-requisitos
JUnit Basico
Instalacao
O Framework
O Exemplo
Compilando e Executando via Linha de Comando
Projeto Maven no Eclipse
Copiando a Aplicacao para o Projeto
Entendendo o Codigo
Criando Casos de Teste
Encontrando uma Falha e Corrigindo o Defeito
Metodos Especiais
JUnit Avancado
Temporizacao em Casos de Teste
Teste de Excecoes
Definindo um Conjunto de Teste
Executando os Teste sem o Eclipse
Ignorando Casos de Teste
Testes Parametrizados
Ferramentas Similares
Referencias
Referencias