SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

Plano de teste
Plano de testePlano de teste
Plano de teste
Eduardo Nilsen
 
JUnit
JUnitJUnit
ATDD Android
ATDD AndroidATDD Android
ATDD Android
Pedro Rocha
 
Selenium ide
Selenium ideSelenium ide
Selenium ide
Adelino Primo Mazuti
 
Selenium
SeleniumSelenium
Selenium
fatec
 
Testes Automatizados de Software
Testes Automatizados de SoftwareTestes Automatizados de Software
Testes Automatizados de Software
Maurício Aniche
 
Selenium ide apresentação
Selenium ide   apresentaçãoSelenium ide   apresentação
Selenium ide apresentação
Priscila Calderã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
Qualister
 
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
Cintia Armesto
 
Test Driven Development: Abre alas
Test Driven Development: Abre alasTest Driven Development: Abre alas
Test Driven Development: Abre alas
Marcos Pereira
 

Mais procurados (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
 

Destaque

Casa del Te
Casa del TeCasa del Te
Casa del Te
meche2211
 
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
Miguel Muñoz de Morales
 
Nadal
NadalNadal
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
laborriquita
 
Cronograma 3º trimestre 2011
Cronograma 3º trimestre 2011Cronograma 3º trimestre 2011
Cronograma 3º trimestre 2011
Adriano Capilupe
 
Css
CssCss
Css
CJH47
 
Junior
JuniorJunior
Capítulo 2 - Giuseppe de Fiestuki
Capítulo 2 - Giuseppe de FiestukiCapítulo 2 - Giuseppe de Fiestuki
Capítulo 2 - Giuseppe de Fiestuki
Galete
 
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 Ok
jose 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 MASCULINA
Asebir
 
Examen info2
Examen info2Examen info2
Examen info2
Rene Torres Visso
 
Carta
CartaCarta
Carta
katyhija13
 
RIE - Eventos Kaizen
RIE - Eventos KaizenRIE - Eventos Kaizen
RIE - Eventos Kaizen
Miguel Montenegro Araujo
 
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
 
Pdf
PdfPdf
Nivelacion 3 periodo 2011 grado 10
Nivelacion 3     periodo 2011 grado 10Nivelacion 3     periodo 2011 grado 10
Nivelacion 3 periodo 2011 grado 10
martin-giraldo
 
Tics taller 1 tilleria ponce
Tics taller 1 tilleria ponceTics taller 1 tilleria ponce
Tics taller 1 tilleria ponce
Tillería y Godoy Abogados
 
Cc981490c75891f6bc04139dd18a48eb
Cc981490c75891f6bc04139dd18a48ebCc981490c75891f6bc04139dd18a48eb
Cc981490c75891f6bc04139dd18a48eb
Hurandira-Khan Daniel de Souza
 
How to play senet
How to play senetHow to play senet
How to play senet
Sole09
 

Destaque (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
 

Semelhante a Testes unitários com Qunit

Plano de teste
Plano de testePlano de teste
Plano de teste
Eduardo Nilsen
 
Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2Treinamento Testes Unitários - parte 2
Treinamento Testes Unitários - parte 2
Diego 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 Manager
Alan Carlos
 
Testes de Unidade com Junit
Testes de Unidade com JunitTestes de Unidade com Junit
Testes de Unidade com Junit
cejug
 
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
Manuel Menezes de Sequeira
 
Desenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por TestesDesenvolvimento Dirigido por Testes
Desenvolvimento Dirigido por Testes
Camilo 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 Cypress
Walmyr Lima e Silva Filho
 
JUnit Sample
JUnit SampleJUnit Sample
Testes unitários e Mocks
Testes unitários e MocksTestes unitários e Mocks
Testes unitários e Mocks
Frederico Belisario
 
J unit xp
J unit xpJ unit xp
J unit xp
Emir Calife
 
Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1Treinamento Testes Unitários - parte 1
Treinamento Testes Unitários - parte 1
Diego 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 testes
Wellington 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 SW
guest8ae21d
 
Aula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SWAula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SW
Rogerio P C do Nascimento
 
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
Fabrí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 ALATS
Fabrício Campos
 
[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados[DevOps Carioca] Testes Automatizados
[DevOps Carioca] Testes Automatizados
Samanta Cicilia
 
ybr789try
ybr789tryybr789try
ybr789try
teste
 

Semelhante a 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
 

Último

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
Momento da Informática
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
joaovmp3
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
WELITONNOGUEIRA3
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
TomasSousa7
 

Último (6)

TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdfDESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
DESENVOLVIMENTO DE SOFTWARE I_aula1-2.pdf
 
Certificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdfCertificado Jornada Python Da Hashtag.pdf
Certificado Jornada Python Da Hashtag.pdf
 
Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
Manual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdfManual-de-Credenciamento ANATER 2023.pdf
Manual-de-Credenciamento ANATER 2023.pdf
 
História da Rádio- 1936-1970 século XIX .2.pptx
História da Rádio- 1936-1970 século XIX   .2.pptxHistória da Rádio- 1936-1970 século XIX   .2.pptx
História da Rádio- 1936-1970 século XIX .2.pptx
 

Testes unitários com Qunit