SlideShare une entreprise Scribd logo
1  sur  33
Télécharger pour lire hors ligne
Testes unitários com QUnit
Sobre o QUnit
• Framework de testes unitário para javascript
• De uso fácil e bem documentado
• Indicado para testar código javascript, independente de markup
• Desenvolvido originalmente por John Resig, criador do jQuery
• Utilizado por: jQuery, jQuery UI, jQuery Mobile
• Existem diversos plugins e métodos de integração
213/3/2014
13/3/2014 3
Teste unitário
Definição
Teste unitário
413/3/2014
“É um código
executável que
testa uma unidade
funcional do
software”
Por que testar?
• Testes são documentação executável
• Testes garantes mudanças sem erros
• Problemas são facilmente identificados
513/3/2014
Teste unitário
Sobre teste unitário
Teste unitário
613/3/2014
“Um
desenvolvedor
que não faz testes
é como um
cirurgião que não
lava as mãos”
Robert C. Martin
(Uncle Bob)
13/3/2014 7
Como utilizar o QUnit
13/3/2014 8
testes
HTML
QUnit
+
+
Testes unitários
HTML
Exemplo – Widgets do UOL Perfil
913/3/2014
Testes
Exemplo – Widgets do UOL Perfil
1013/3/2014
Exemplo: Widgets do UOL Perfil
13/3/2014 12
Também pode ser instalado via NPM
$ npm install qunit
ou se preferir
$ npm install -g qunit
13/3/2014 13
Estrutura dos testes
Arquivos
Estrutura dos testes
1413/3/2014
Configuração
Estrutura dos testes
1513/3/2014
module()
Agrupa casos de teste relacionados em módulo. Ajuda na
organização.
Configuração
Estrutura dos testes
1613/3/2014
test()
Define um caso de teste.
Assertions
Estrutura dos testes
1713/3/2014
equal(), notEqual, ok(), strictEqual(),
notStrictEqual(), etc…
Asserções/Afirmações que serão utilizadas para testar a
funcionalidade. Descreve como a funcionalidade deve se
comportar.
Checkpoint
Estrutura dos testes
1813/3/2014
Complementando
Estrutura dos testes
1913/3/2014
Escrevendo mais casos de teste
Checkpoint
Estrutura dos testes
2013/3/2014
Complementando
Estrutura dos testes
2113/3/2014
Criando mais módulos
Checkpoint
Estrutura dos testes
2213/3/2014
Exemplo de erro
Estrutura dos testes
2313/3/2014
Mais asserts
Estrutura dos testes
2413/3/2014
strictEqual()
Verifica se o valor e tipo são iguais.
strictEqual(0, false, “Vai falhar!");
equal(0,false, “Vai passar!");
strictEqual(10,”10”, “Também var falhar!");
strictEqual(10,”10”, “Vai falhar miseravelmente!");
Como comparar com “===“ ou “!==“
Mais asserts
Estrutura dos testes
2513/3/2014
deepEqual()
Mais asserts
Estrutura dos testes
2613/3/2014
Falar de setup/teardown, deepEqual,
assyncTest
13/3/2014 27
Integrando o QUnit
Integrando o QUnit
• Existem diversas maneiras de integração com o QUnit
• Escolha a melhor maneira de integração, baseado nas ferramentas e características
de seu projeto
2813/3/2014
Jenkins Grunt PhantomJS Qunit Notifier
. . .
Jenkins
Integrando o QUnit
2913/3/2014
PhantomJS
Integrando o QUnit
3013/3/2014
Qunit Notifier
Integrando o QUnit
3113/3/2014
Referências
QUnit: http://qunitjs.com
Github: https://github.com/jquery/qunit
Documentação: http://api.qunitjs.com
Plugins: http://qunitjs.com/plugins
Cookbook: http://qunitjs.com/cookbook
3213/3/2014
Av. Brig. Faria Lima, 1.384, 4º andar
CEP 01452-002 . São Paulo/SP
Telefone: 11 3914.9559
www.uol.com.br
13/3/2014 33
Obrigado ;-)
Equipe de Concepção & Interface de Produtos – P&D

Contenu connexe

Tendances

Selenium
SeleniumSelenium
Seleniumfatec
 
Testes Automatizados de Software
Testes Automatizados de SoftwareTestes Automatizados de Software
Testes Automatizados de SoftwareMaurício Aniche
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverQualister
 
Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1Cintia Armesto
 
Test Driven Development: Abre alas
Test Driven Development: Abre alasTest Driven Development: Abre alas
Test Driven Development: Abre alasMarcos Pereira
 

Tendances (10)

Plano de teste
Plano de testePlano de teste
Plano de teste
 
JUnit
JUnitJUnit
JUnit
 
ATDD Android
ATDD AndroidATDD Android
ATDD Android
 
Selenium ide
Selenium ideSelenium ide
Selenium ide
 
Selenium
SeleniumSelenium
Selenium
 
Testes Automatizados de Software
Testes Automatizados de SoftwareTestes Automatizados de Software
Testes Automatizados de Software
 
Selenium ide apresentação
Selenium ide   apresentaçãoSelenium ide   apresentação
Selenium ide apresentação
 
Automação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriverAutomação de testes funcionais com selenium webdriver
Automação de testes funcionais com selenium webdriver
 
Automatização de testes funcionais com selenium etapa 1
Automatização de testes funcionais com selenium  etapa 1Automatização de testes funcionais com selenium  etapa 1
Automatização de testes funcionais com selenium etapa 1
 
Test Driven Development: Abre alas
Test Driven Development: Abre alasTest Driven Development: Abre alas
Test Driven Development: Abre alas
 

En vedette

Taller de resolucion de conflictos 2011 012
Taller de resolucion de conflictos 2011 012Taller de resolucion de conflictos 2011 012
Taller de resolucion de conflictos 2011 012Miguel Muñoz de Morales
 
Bases generales para el sorteo de euromillones
Bases generales para el sorteo de euromillonesBases generales para el sorteo de euromillones
Bases generales para el sorteo de euromilloneslaborriquita
 
Cronograma 3º trimestre 2011
Cronograma 3º trimestre 2011Cronograma 3º trimestre 2011
Cronograma 3º trimestre 2011Adriano Capilupe
 
Capítulo 2 - Giuseppe de Fiestuki
Capítulo 2 - Giuseppe de FiestukiCapítulo 2 - Giuseppe de Fiestuki
Capítulo 2 - Giuseppe de FiestukiGalete
 
M.c capitulo 2 z.c.g.
M.c capitulo 2 z.c.g.M.c capitulo 2 z.c.g.
M.c capitulo 2 z.c.g.Zayda
 
3 Com Corp Ok
3 Com Corp Ok3 Com Corp Ok
3 Com Corp Okjose luis
 
CARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINA
CARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINACARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINA
CARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINAAsebir
 
7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...
7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...
7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...APF - Associação Paulista de Fundações
 
Nivelacion 3 periodo 2011 grado 10
Nivelacion 3     periodo 2011 grado 10Nivelacion 3     periodo 2011 grado 10
Nivelacion 3 periodo 2011 grado 10martin-giraldo
 
How to play senet
How to play senetHow to play senet
How to play senetSole09
 

En vedette (20)

Casa del Te
Casa del TeCasa del Te
Casa del Te
 
Taller de resolucion de conflictos 2011 012
Taller de resolucion de conflictos 2011 012Taller de resolucion de conflictos 2011 012
Taller de resolucion de conflictos 2011 012
 
Nadal
NadalNadal
Nadal
 
Bases generales para el sorteo de euromillones
Bases generales para el sorteo de euromillonesBases generales para el sorteo de euromillones
Bases generales para el sorteo de euromillones
 
Cronograma 3º trimestre 2011
Cronograma 3º trimestre 2011Cronograma 3º trimestre 2011
Cronograma 3º trimestre 2011
 
Css
CssCss
Css
 
Junior
JuniorJunior
Junior
 
Capítulo 2 - Giuseppe de Fiestuki
Capítulo 2 - Giuseppe de FiestukiCapítulo 2 - Giuseppe de Fiestuki
Capítulo 2 - Giuseppe de Fiestuki
 
M.c capitulo 2 z.c.g.
M.c capitulo 2 z.c.g.M.c capitulo 2 z.c.g.
M.c capitulo 2 z.c.g.
 
3 Com Corp Ok
3 Com Corp Ok3 Com Corp Ok
3 Com Corp Ok
 
CARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINA
CARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINACARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINA
CARIOTIPO 47, XY, + MAR E IMPLICACIONES EN LA ESTERILIDAD MASCULINA
 
Examen info2
Examen info2Examen info2
Examen info2
 
Carta
CartaCarta
Carta
 
RIE - Eventos Kaizen
RIE - Eventos KaizenRIE - Eventos Kaizen
RIE - Eventos Kaizen
 
7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...
7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...
7º Encontro Paulista de Fundações – 1º Painel: Entraves à Gestão Profissional...
 
Pdf
PdfPdf
Pdf
 
Nivelacion 3 periodo 2011 grado 10
Nivelacion 3     periodo 2011 grado 10Nivelacion 3     periodo 2011 grado 10
Nivelacion 3 periodo 2011 grado 10
 
Tics taller 1 tilleria ponce
Tics taller 1 tilleria ponceTics taller 1 tilleria ponce
Tics taller 1 tilleria ponce
 
Cc981490c75891f6bc04139dd18a48eb
Cc981490c75891f6bc04139dd18a48ebCc981490c75891f6bc04139dd18a48eb
Cc981490c75891f6bc04139dd18a48eb
 
How to play senet
How to play senetHow to play senet
How to play senet
 

Similaire à Testes unitários com Qunit

Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Diego Pacheco
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test ManagerAlan Carlos
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junitcejug
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesCamilo Ribeiro
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressWalmyr Lima e Silva Filho
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Diego Pacheco
 
MTC 2017 pirâmide de automação mobile de testes
MTC 2017   pirâmide de automação mobile de testesMTC 2017   pirâmide de automação mobile de testes
MTC 2017 pirâmide de automação mobile de testesWellington Avelino dos Santos
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SWguest8ae21d
 
Automacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumAutomacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumFabrício Lemos
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Ramon Ribeiro Rabello
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...minastestingconference
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSFabrício Campos
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes AutomatizadosSamanta Cicilia
 
ybr789try
ybr789tryybr789try
ybr789tryteste
 

Similaire à Testes unitários com Qunit (20)

Plano de teste
Plano de testePlano de teste
Plano de teste
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2
 
Workshop - Plano de Testes End to End com o Microsoft Test Manager
Workshop   - Plano de Testes End to End com o Microsoft Test ManagerWorkshop   - Plano de Testes End to End com o Microsoft Test Manager
Workshop - Plano de Testes End to End com o Microsoft Test Manager
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
 
Eng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de softwareEng.ª do Software - 10. Testes de software
Eng.ª do Software - 10. Testes de software
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
 
Como criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com CypressComo criar testes rápidos e robustos com Cypress
Como criar testes rápidos e robustos com Cypress
 
JUnit Sample
JUnit SampleJUnit Sample
JUnit Sample
 
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
 
J unit xp
J unit xpJ unit xp
J unit xp
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
 
MTC 2017 pirâmide de automação mobile de testes
MTC 2017   pirâmide de automação mobile de testesMTC 2017   pirâmide de automação mobile de testes
MTC 2017 pirâmide de automação mobile de testes
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SW
 
Aula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SWAula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SW
 
Automacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com SeleniumAutomacão de Testes Funcionais com Selenium
Automacão de Testes Funcionais com Selenium
 
Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!Automatize seus testes de UI com a Espresso!
Automatize seus testes de UI com a Espresso!
 
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
[MTC 2021] Criando testes automatizados rápidos e robustos com cypress - Walm...
 
Teste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATSTeste de Performance - 3º Encontro da ALATS
Teste de Performance - 3º Encontro da ALATS
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
 
ybr789try
ybr789tryybr789try
ybr789try
 

Testes unitários com Qunit