33
Testes unitários com QUnit

Testes unitários com Qunit

Embed Size (px)

Citation preview

Page 1: Testes unitários com Qunit

Testes unitários com QUnit

Page 2: 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/04/2023

Page 3: Testes unitários com Qunit

13/04/2023 3

Teste unitário

Page 4: Testes unitários com Qunit

DefiniçãoTeste unitário

413/04/2023

“É um código executável que

testa uma unidade funcional do

software”

Page 5: Testes unitários com Qunit

Por que testar?

• Testes são documentação executável

• Testes garantes mudanças sem erros

• Problemas são facilmente identificados

513/04/2023

Teste unitário

Page 6: Testes unitários com Qunit

Sobre teste unitárioTeste unitário

613/04/2023

“Um desenvolvedor

que não faz testes é como um

cirurgião que não lava as mãos”

Robert C. Martin(Uncle Bob)

Page 7: Testes unitários com Qunit

13/04/2023 7

Como utilizar o QUnit

Page 8: Testes unitários com Qunit

13/04/2023 8

testes

HTML

QUnit

+

+Testes unitários

Page 9: Testes unitários com Qunit

HTMLExemplo – Widgets do UOL Perfil

913/04/2023

Page 10: Testes unitários com Qunit

TestesExemplo – Widgets do UOL Perfil

1013/04/2023

Page 11: Testes unitários com Qunit

Exemplo: Widgets do UOL Perfil

Page 12: Testes unitários com Qunit

13/04/2023 12

Também pode ser instalado via NPM

$ npm install qunit

ou se preferir

$ npm install -g qunit

Page 13: Testes unitários com Qunit

13/04/2023 13

Estrutura dos testes

Page 14: Testes unitários com Qunit

ArquivosEstrutura dos testes

1413/04/2023

Page 15: Testes unitários com Qunit

ConfiguraçãoEstrutura dos testes

1513/04/2023

module()Agrupa casos de teste relacionados em módulo. Ajuda na

organização.

Page 16: Testes unitários com Qunit

ConfiguraçãoEstrutura dos testes

1613/04/2023

test()Define um caso de teste.

Page 17: Testes unitários com Qunit

AssertionsEstrutura dos testes

1713/04/2023

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.

Page 18: Testes unitários com Qunit

CheckpointEstrutura dos testes

1813/04/2023

Page 19: Testes unitários com Qunit

ComplementandoEstrutura dos testes

1913/04/2023

Escrevendo mais casos de teste

Page 20: Testes unitários com Qunit

CheckpointEstrutura dos testes

2013/04/2023

Page 21: Testes unitários com Qunit

ComplementandoEstrutura dos testes

2113/04/2023

Criando mais módulos

Page 22: Testes unitários com Qunit

CheckpointEstrutura dos testes

2213/04/2023

Page 23: Testes unitários com Qunit

Exemplo de erroEstrutura dos testes

2313/04/2023

Page 24: Testes unitários com Qunit

Mais assertsEstrutura dos testes

2413/04/2023

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 “!==“

Page 25: Testes unitários com Qunit

Mais assertsEstrutura dos testes

2513/04/2023

deepEqual()

Page 26: Testes unitários com Qunit

Mais assertsEstrutura dos testes

2613/04/2023

Falar de setup/teardown, deepEqual, assyncTest

Page 27: Testes unitários com Qunit

13/04/2023 27

Integrando o QUnit

Page 28: Testes unitários com 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/04/2023

Jenkins Grunt PhantomJS Qunit Notifier

. . .

Page 29: Testes unitários com Qunit

JenkinsIntegrando o QUnit

2913/04/2023

Page 30: Testes unitários com Qunit

PhantomJSIntegrando o QUnit

3013/04/2023

Page 31: Testes unitários com Qunit

Qunit NotifierIntegrando o QUnit

3113/04/2023

Page 32: Testes unitários com Qunit

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/04/2023

Page 33: Testes unitários com Qunit

Av. Brig. Faria Lima, 1.384, 4º andarCEP 01452-002 . São Paulo/SP

Telefone: 11 3914.9559 www.uol.com.br

13/04/2023 33

Obrigado ;-)Equipe de Concepção & Interface de Produtos – P&D