testes unitários com junit
DESCRIPTION
Testes de unidade com JUnitTRANSCRIPT
![Page 2: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/2.jpg)
Tópicos
Testes de Programas
JUnit – Introdução
JUnit – Prática
04/05/2012 2
![Page 3: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/3.jpg)
Testes de Programas
“Qualquer recurso de programa sem um teste automatizado simplesmente não existe.”
Kent Beck. Extreme Programing Explained. p 56
04/05/2012 3
![Page 4: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/4.jpg)
Testes de Programas
• Defeitos de programa: problemas• Custos enormes
• Tempo, dinheiro, frustrações...
• Como amenizar esses problemas?• Criação e execução de casos de teste (de maneira contínua) para
programas• Abordagem prática e comum para lidar com defeitos de programas
• Antes que sejam “deixados para trás” no ambiente de desenvolvimento
04/05/2012 4
![Page 5: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/5.jpg)
Testes de Programas
• Importância dos testes• Um produto de software deve passar por várias fases de teste:
• Teste de unidade, de integração, de sistema, de aceitação...
04/05/2012 5
![Page 6: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/6.jpg)
Testes de Programas• Testes devem ser escritos• Poucos o fazem...
• “Falta” de tempo...
• Resultado: ciclo vicioso
04/05/2012 6
Menos testesMenos produtividadeMenos estabilidade
Mais pressão
� Quebrando o ciclo:– Criar um ambiente simples de testes
![Page 7: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/7.jpg)
Testes de ProgramasTestes de Unidade (Unitário)
• Testam as menores unidades de programa desenvolvidas• POO: unidade pode ser método/classe/objeto
• Objetivo• Prevenir defeitos• Permitir um nível de qualidade de produto durante o
desenvolvimento do software
04/05/2012 7
![Page 8: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/8.jpg)
Testes de ProgramasTestes de Unidade (Unitário)
• Testes
• Responsabilidade do próprio desenvolvedor
• Comumente testam um método individualmente• Comparação de uma saída conhecida após o processamento da
mesma
• Não testam todo o programa
04/05/2012 8
![Page 9: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/9.jpg)
Testes de ProgramasJava: Teste pelo método main()
• Criação do método main() na classe a ser testada
• Instância da classe
• Execução de uma série de checagens• Certificar que o objeto possui o comportamento desejado
04/05/2012 9
![Page 10: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/10.jpg)
Testes de ProgramasJava: Teste pelo método main()
• Questões: eficiência como ambiente de teste
• Não há conceito explícito de teste aprovado ou reprovado• Normalmente, o programa gera mensagens com System.out.println()• Desenvolvedor decide se a mensagem está correta ou não
• main() tem acesso a itens protected e private• Enquanto desenvolvedor pode querer testar o funcionamento interno de
uma classe, muitos testes se referem à interface de um objeto ao mundo externo
04/05/2012 10
![Page 11: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/11.jpg)
Testes de ProgramasJava: Teste pelo método main()
• Não há mecanismos para coletar resultados de maneira estruturada
• Não há replicabilidade• Após cada teste, o desenvolvedor tem que examinar e interpretar os
resultados
04/05/2012 11
![Page 12: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/12.jpg)
Testes de ProgramasJUnit
• Framework de criação de testes automatizados para desenvolvimento Java
• Possui API que habilita o desenvolvedor a facilmente criar casos de teste em Java
• Provê abrangente facilidade de asserção• Verificar resultados esperados x resultados reais
• Utiliza um princípio fundamental da programação XP:• Criação e execução de testes deve ser fácil
04/05/2012 12
![Page 13: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/13.jpg)
Tópicos
Testes de Programas
JUnit – Introdução
JUnit – Prática
04/05/2012 13
![Page 14: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/14.jpg)
JUnitIntrodução
• Facilita criação de código para automação de testes com apresentação dos resultados• Dirigido a Testes de unidade – Caixa Branca
• Componentes de um sistema (classes/métodos) testados de maneira isolada
• Verifica se cada método de uma classe funciona da maneira esperada• Exibindo possíveis erros ou falhas
04/05/2012 14
![Page 15: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/15.jpg)
JUnitVantagens• Permite rápida criação de códigos de teste
• Possibilitando aumento da qualidade do sistema sendo desenvolvido e testado
• Não é necessário escrever o próprio framework• Framework Caixa Preta
• Amplamente utilizado pelos desenvolvedores da comunidade open-source
• Uma vez escritos, os testes são executados rapidamente• Sem a interrupção do processo de desenvolvimento
04/05/2012 15
![Page 16: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/16.jpg)
JUnitVantagens
• Checa os resultados dos testes e fornece uma resposta imediata
• Pode-se criar uma hierarquia de testes que permitirá testar apenas uma parte ou todo o sistema
• Permite que o programador perca menos tempo depurando seu código
• Integração com as principais IDEs• NetBeans, Eclipse, JDeveloper...
04/05/2012 16
![Page 17: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/17.jpg)
JUnitQuestões• Casos de teste são definidos em classes separadas
• Sem acesso a partes encapsuladas
• Testes são realizados a partir da interface de um objeto ao mundo externo
• Hábito:1.Codifique um pouco...
2.Teste um pouco...
3.Codifique um pouco...
4.Teste um pouco...
– Resumo: Objeto pronto, teste-o
04/05/2012 17
![Page 18: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/18.jpg)
JUnitArquitetura
• JUnit 3• Classe Test
• runTest(): controla execução de testes particulares
• Classe TestCase: testa os resultados de um método
• setUp(): chamado antes de cada método de teste*• tearDown(): chamado depois de cada método de
teste*
• Classe TestSuite: define um conjunto de testes
• JUnit 4• import static na API
*defasados – substituídos por anotações no JUnit 4
04/05/2012 18
Test
+runTest()
Test
+runTest()
TestCase
+runTest()+setUp()+tearDown()
TestCase
+runTest()+setUp()+tearDown()
TestSuite
+runTest()
TestSuite
+runTest()
API do JUnit
até o JUnit 3.x
a partir do JUnit 4
![Page 19: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/19.jpg)
JUnitConsiderações Finais
• Testes de unidade:• Importantes na construção de métodos
• Permite ao desenvolvedor testá-los durante a construção• Viabilizando a implementação de métodos livres de erros
• JUnit:• Possibilita criar testes antes da conclusão do sistema
• Testando métodos separadamente assim que estiverem prontos• Evita percorrer todo o código para descobrir defeitos que possivelmente
apareceriam quando o sistema estivesse pronto
• Viabiliza criação de sistemas mais estáveis
04/05/2012 19
![Page 20: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/20.jpg)
Dúvidas?
04/05/2012 20
![Page 21: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/21.jpg)
Tópicos
Testes de Programas
JUnit – Introdução
JUnit – Prática
04/05/2012 21
![Page 22: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/22.jpg)
JUnit no EclipseExemplo 1: Calculadora
04/05/2012 22
Classe a ser testada
![Page 23: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/23.jpg)
JUnit no EclipseCriando um Caso de Teste
• Botão direito na classe a ser testada (Calculadora)• New• JUnit Test Case
04/05/2012 23
![Page 24: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/24.jpg)
JUnit no EclipseCriando um Caso de Teste
• Nome do caso de teste• Classe a ser testada• Next
04/05/2012 24
![Page 25: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/25.jpg)
JUnit no EclipseCriando um Caso de Teste
• Selecionar métodos a serem testados
• Finish
04/05/2012 25
![Page 26: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/26.jpg)
JUnit no EclipseCriando um Caso de Teste
• Perform the following action...• Ok
04/05/2012 26
![Page 27: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/27.jpg)
JUnit no EclipseCriando um Caso de Teste
• Esqueleto do caso de teste• testSomar():
• Testes para o método somar()
04/05/2012 27
![Page 28: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/28.jpg)
Exemplo 1: CalculadoraImplementando o Caso de Teste criado
04/05/2012 28
Classe a ser testada
Caso de teste
![Page 29: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/29.jpg)
JUnit no EclipseExecução de um Caso de Teste
• Por plugin• Interface pronta• Recursos:
• Visualização de falhas e erros (exceções)• Debug• Histórico de testes
• Por código• Desenvolvedor cria a interface
• Método conhecido como TestRunner
04/05/2012 29
![Page 30: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/30.jpg)
Exemplo 1: CalculadoraExecutando o Caso de Teste - Plugin
• Botão direito no caso de teste• Run As• JUnit Test
04/05/2012 30
![Page 31: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/31.jpg)
Exemplo 1: CalculadoraResultado dos testes - Plugin
• Falha: quando uma “afirmação” (assertion) falha• Erro: quando ocorre uma exceção
• Ex.: NullPointerException, ArrayIndexOutOfBoundsException ...
04/05/2012 31
Res
ulta
do s
em fa
lhas
Exe
mpl
o de
res
ulta
do c
om fa
lhas
![Page 32: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/32.jpg)
Exemplo 1: CalculadoraExecutando o Caso de Teste - Código
04/05/2012 32
![Page 33: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/33.jpg)
JUnitAssertions
04/05/2012 33
Sintaxe do Método Descrição Teste passa se
assertEquals ([String mensErro,]esperado, atual)
Compara dois valores
esperado.equals(teste)
assertFalse ([String mensErro,]boolean condicao) Avalia uma
expressão booleana
condicao == false
assertTrue ([String mensErro,]boolean condicao)
condicao == true
assertNotNull ([String mensErro,]Object objeto) Compara um objeto
com nulo
objeto != null
assertNull ([String mensErro,]Object objeto)
objeto == null
assertNotSame ([String mensErro,]Object esperado, Object atual) Compara dois
objetos
esperado != atual
assertSame ([String mensErro,]Object esperado, Object atual)
esperado == atual
fail ([String mensErro]) Causa uma falha no teste atual (comumente usado em manipulação de exceções)
![Page 34: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/34.jpg)
JUnitDiferença entre versões
• Até o JUnit 3.x
• Classes de teste herdam classe TestCase• Declaração do construtor da classe
• Métodos de teste iniciavam com a palavra test• testMetodo(), testGravacao(), testSoma() etc
• Método setUp()
• Método tearDown()
04/05/2012 34
![Page 35: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/35.jpg)
JUnitDiferença entre versões
• A partir do JUnit 4
• Herança de TestCase substituída por import estático• import static org.junit.Assert.*• Não precisa declarar o construtor da classe
• Métodos de teste identificados com a anotação @Test
• Métodos setUp() e tearDown() substituídos pelas anotações @Before e @After respectivamente
04/05/2012 35
![Page 36: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/36.jpg)
JUnitAnotações do JUnit 4• @Test
• Identifica que o método é um método de teste.
• @Before• Executa o método antes de cada teste. Este método pode ser
usado para preparar o ambiente de teste (Ex: ler dados do usuário). Substituto do setUp().
• @After• Executa o método após cada teste. Substituto do tearDown().
• @BeforeClass• Executa o método antes do início de todos os testes
• Ex: conectar base de dados
04/05/2012 36
![Page 37: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/37.jpg)
JUnitAnotações do JUnit 4
• @AfterClass• Executa o método após todos os testes finalizarem (Ex:
desconectar base de dados).
• @Ignore [(“Comentário”) ]• O método é ignorado.
• @Test (expected=IllegalArgumentException.class)• Testa se o método levanta a exceção especificada.
• @Test (timeout=100)• Falha se o teste demorar mais que 100 milissegundos
04/05/2012 37
![Page 38: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/38.jpg)
JUnitSequência de Desenvolvimento
04/05/2012 38
@BeforeClass
@Before
@Test
@After
@AterClass
Test
es c
onse
cutiv
os
Antes de todos os testes
Antes de cada testesetUp()
Teste
Após cada testetearDown()
Após todos os testes
![Page 39: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/39.jpg)
Exemplo 2Sequência dos métodos
04/05/2012 39
![Page 40: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/40.jpg)
Exemplo 2Ignorando um teste
04/05/2012 40
IgnoradoIgnorado
IgnoradoIgnorado
![Page 41: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/41.jpg)
Exemplo 3: JanelaClasse Janela
04/05/2012 41
![Page 42: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/42.jpg)
Exemplo 3: JanelaCaso de Teste: JanelaTest
• A classe Janela está correta?
04/05/2012 42
![Page 43: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/43.jpg)
Exemplo 3: JanelaCaso de Teste: JanelaTest
• A classe Janela está correta?
04/05/2012 43
Mudar posiçãoMudar
posição
![Page 44: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/44.jpg)
Exemplo 4: Esperando exceçõesCaso de Teste
04/05/2012 44
![Page 45: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/45.jpg)
Exemplo 4: Esperando exceçõesResultado
• divisaoComExcecao(): erro• Exceção ocorrida (divisão por zero)
• divisaoEsperandoExcecao1(): passou• Ocorreu exceção esperada
• divisaoEsperandoExcecao2(): falhou• Não ocorreu exceção esperada
• divisaoSemExcecao(): passou
04/05/2012 45
![Page 46: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/46.jpg)
DicasOrganização
• Organize os casos de teste em uma pasta separada dos códigos fonte do sistema• Organize os casos de teste dentro dos mesmos pacotes que os
códigos fonte
04/05/2012 46
![Page 47: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/47.jpg)
DicasDesenvolvimento Dirigido a Testes
• Testes devem ser• escritos assim que possível• adaptados de acordo com mudanças
• Testes antigos:• Deixar em execução
• Surgimento de novas ideias:1.Criar testes2.Verificar se funcionam3.Se necessário, altere o código do programa
04/05/2012 47
![Page 48: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/48.jpg)
DicasGranularidade dos Testes
• Cada teste deve verificar uma porção específica de uma funcionalidade do sistema
• Não combine testes não relacionados em um único método de teste
04/05/2012 48
![Page 49: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/49.jpg)
DicasQuais e quantos testes escrever
• Regra principal:• Tenha criatividade para imaginar as possibilidades de testes
• Comece pelo teste mais simples• deixe os mais complexos para o final
• Use apenas dados suficientes• Ex.: não teste 10 condições se apenas 3 são suficientes
04/05/2012 49
![Page 50: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/50.jpg)
DicasQuais e quantos testes escrever
• Não teste métodos triviais• gets e sets• Métodos set: Somente crie testes se houver validação de dados
• Achou um bug?• Não conserte sem antes escrever um teste que o detecte
• Caso contrário, ele pode voltar
04/05/2012 50
![Page 51: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/51.jpg)
ExercícioCriatividade na criação de testes
Imagine e crie testes para esta classe de movimentação financeira
04/05/2012 51
MovimentoFinanceiro
-ID: int-TipoES: char-DataEmissao: Date-Cliente: int-DataVencimento: Date-DataPagamento: Date-ValorOriginal: float-ValorJuros: float-ValorPagamento: float
+geraID(valorIncremento: int): int+geraVencimento(dataEmissao: Date): Date+calculaJuros(valorOriginal: float): float+calculaValorPagamento(valorOriginal: float, valorJuros: float): float
MovimentoFinanceiro
-ID: int-TipoES: char-DataEmissao: Date-Cliente: int-DataVencimento: Date-DataPagamento: Date-ValorOriginal: float-ValorJuros: float-ValorPagamento: float
+geraID(valorIncremento: int): int+geraVencimento(dataEmissao: Date): Date+calculaJuros(valorOriginal: float): float+calculaValorPagamento(valorOriginal: float, valorJuros: float): float
Exercício
![Page 52: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/52.jpg)
Exemplo 5: MemoriaClasse MemoriaS1/3
04/05/2012 52
![Page 53: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/53.jpg)
Exemplo 5: MemoriaClasse MemoriaS2/3
04/05/2012 53
![Page 54: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/54.jpg)
Exemplo 5: MemoriaClasse MemoriaS3/3
04/05/2012 54
![Page 55: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/55.jpg)
Exemplo 5: MemoriaClasse CD 1/2
04/05/2012 55
![Page 56: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/56.jpg)
Exemplo 5: MemoriaClasse CD 2/2
04/05/2012 56
![Page 57: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/57.jpg)
Exemplo 5: MemoriaClasse HD
04/05/2012 57
![Page 58: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/58.jpg)
Exemplo 5: MemoriaCaso de Teste MemoriaTeste
04/05/2012 58
![Page 59: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/59.jpg)
JUnitSuítes de Testes
• Crescimento do número de testes de unidade:• Necessário uma suíte de testes
• Gerenciamento de uma coleção de testes
• Conjunto de testes• Executa uma coleção de Casos de Teste
04/05/2012 59
![Page 60: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/60.jpg)
Suíte de TestesExemplo 6: Classe Utils
04/05/2012 60
![Page 61: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/61.jpg)
Suíte de TestesExemplo 6: Caso de Teste TesteUtils
04/05/2012 61
![Page 62: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/62.jpg)
Suíte de TestesExemplo 6: Resultados de TesteUtils
04/05/2012 62
![Page 63: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/63.jpg)
Suíte de TestesExemplo 6: Classe Vetores
04/05/2012 63
![Page 64: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/64.jpg)
Suíte de TestesExemplo 6: Caso de Teste TesteVetores
04/05/2012 64
![Page 65: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/65.jpg)
Suíte de TestesExemplo 6: Resultado de TesteVetores
04/05/2012 65
![Page 66: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/66.jpg)
Suíte de TestesCriando a Suíte
• Botão no pacote dos testes
04/05/2012 66
![Page 67: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/67.jpg)
Suíte de TestesCriando a Suíte
• JUnit Test Suite• Next
04/05/2012 67
![Page 68: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/68.jpg)
Suíte de TestesCriando a Suíte
• Definir nome da suíte• Selecionar casos de
teste• Finish
04/05/2012 68
![Page 69: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/69.jpg)
Suíte de TestesExemplo 6: Criando a Suíte
• Suíte de Testes criada, padrão JUnit 3• Execute-a como um caso de teste
04/05/2012 69
![Page 70: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/70.jpg)
Suíte de TestesSuíte em JUnit 4
• Suíte de Testes modificada para padrão JUnit 4• Execute-a como um caso de teste
04/05/2012 70
![Page 71: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/71.jpg)
Suíte de TestesResultado dos testes da suíte
04/05/2012 71
![Page 72: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/72.jpg)
Dúvidas?
04/05/2012 72
![Page 73: Testes Unitários com JUnit](https://reader033.vdocuments.site/reader033/viewer/2022052217/557202004979599169a2c7f0/html5/thumbnails/73.jpg)
Exercícios
• Treinamento:
• Implementar cada exemplo da aula
• Criatividade:
• Implementar 1 classe e alguns casos de teste para:• Registro de ligações• Fila de impressão• Bilheteria de cinema• Estacionamento com ticket
04/05/2012 73