SlideShare a Scribd company logo
1 of 23
Download to read offline
Como estruturar seus testes
com Jasmine e Karma
Agile Testers Conference 2016
Oi...
Eu sou o Enrique (ou Sassa, Said...) :)
Desenvolvedor front-end em São Paulo atuando no time de BI do GetNinjas.
Trabalho com: ["HTML", "CSS", "JS", "Ruby on Rails", "Testes A/B", "Analise de dados"]
enrique@getninjas.com.br / blog: vid.blog.br
Criação de testes unitários
Automatizar tarefas
Rodar os testes!
Requisitos
● Node e npm
● Grunt:
$ npm install -g grunt-cli
● Bower:
$ npm install -g bower
Configurando
package.json
Configurando
Gruntfile.js
Configurando
Gruntfile.js
Exemplo
Instalando dependências:
$ npm install & bower install
Exemplo
alarm.js
O exemplo
alarm.spec.js
O exemplo
Rodando o teste:
O exemplo
Rodando o teste:
O exemplo
Falhando:
Integração contínua
Travis CI
.travis.yml
no package.json:
no Gruntfile.js
Como estruturar seus testes com jasmine e karma
Mais ferramentas
Sinon: http://sinonjs.org/
(mocks, stubs, fakeServer)
Jasmine jQuery: https://github.com/velesin/jasmine-jquery
(custom matches)
https://github.com/enriquesaid/jasmine-grunt-karma
Jasmine Doc <3
Obrigado!

More Related Content

What's hot

Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarFilipe Falcão
 
Tdc2016 trilha testes - browsersync acelerando seus testes na web
Tdc2016 trilha testes - browsersync acelerando seus testes na webTdc2016 trilha testes - browsersync acelerando seus testes na web
Tdc2016 trilha testes - browsersync acelerando seus testes na webDanilo Feijó
 
Introdução à Node.js + MongoDB
Introdução à Node.js + MongoDBIntrodução à Node.js + MongoDB
Introdução à Node.js + MongoDBLuiz Duarte
 
Testando seu código JavaScript com Jasmine
Testando seu código JavaScript com JasmineTestando seu código JavaScript com Jasmine
Testando seu código JavaScript com JasmineRaphael A. F. Cardoso
 
Ruby para testers I
Ruby para testers IRuby para testers I
Ruby para testers ITestRock!
 
Curso de Node.js e MongoDB - 03
Curso de Node.js e MongoDB - 03Curso de Node.js e MongoDB - 03
Curso de Node.js e MongoDB - 03Luiz Duarte
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comAlexandre Saboia Fuziyama
 
Cartola Fc 2010 - Uma Arquitetura escalável e performática
Cartola Fc 2010 - Uma Arquitetura escalável e performáticaCartola Fc 2010 - Uma Arquitetura escalável e performática
Cartola Fc 2010 - Uma Arquitetura escalável e performáticaMarcel Nicolay
 
Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007George Guimarães
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHPLuiz Messias
 

What's hot (13)

PHP + Node.js
PHP + Node.jsPHP + Node.js
PHP + Node.js
 
Node.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizarNode.js: 5 razões para começar a utilizar
Node.js: 5 razões para começar a utilizar
 
Tdc2016 trilha testes - browsersync acelerando seus testes na web
Tdc2016 trilha testes - browsersync acelerando seus testes na webTdc2016 trilha testes - browsersync acelerando seus testes na web
Tdc2016 trilha testes - browsersync acelerando seus testes na web
 
Node.js for Noobs
Node.js for NoobsNode.js for Noobs
Node.js for Noobs
 
Introdução à Node.js + MongoDB
Introdução à Node.js + MongoDBIntrodução à Node.js + MongoDB
Introdução à Node.js + MongoDB
 
Testando seu código JavaScript com Jasmine
Testando seu código JavaScript com JasmineTestando seu código JavaScript com Jasmine
Testando seu código JavaScript com Jasmine
 
Ruby para testers I
Ruby para testers IRuby para testers I
Ruby para testers I
 
Curso de Node.js e MongoDB - 03
Curso de Node.js e MongoDB - 03Curso de Node.js e MongoDB - 03
Curso de Node.js e MongoDB - 03
 
O CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.comO CartolaFC e o processo de desenvolvimento na globo.com
O CartolaFC e o processo de desenvolvimento na globo.com
 
Cartola Fc 2010 - Uma Arquitetura escalável e performática
Cartola Fc 2010 - Uma Arquitetura escalável e performáticaCartola Fc 2010 - Uma Arquitetura escalável e performática
Cartola Fc 2010 - Uma Arquitetura escalável e performática
 
Conhecendo mundo Node.js
Conhecendo mundo Node.jsConhecendo mundo Node.js
Conhecendo mundo Node.js
 
Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007Pagestackr - RejectConf SP 2007
Pagestackr - RejectConf SP 2007
 
Google App Engine e PHP
Google App Engine e PHPGoogle App Engine e PHP
Google App Engine e PHP
 

Similar to Como estruturar seus testes com jasmine e karma

Test-Driven Development com JavaScript, Jasmine Karma
Test-Driven Development com JavaScript, Jasmine  KarmaTest-Driven Development com JavaScript, Jasmine  Karma
Test-Driven Development com JavaScript, Jasmine KarmaRodrigo Branas
 
Integração continua sem traumas
Integração continua sem traumasIntegração continua sem traumas
Integração continua sem traumassabrinajn
 
Testes Automatizados e testes de carga no Visual Studio Team Service
Testes Automatizados e testes de carga no Visual Studio Team ServiceTestes Automatizados e testes de carga no Visual Studio Team Service
Testes Automatizados e testes de carga no Visual Studio Team ServiceAlessandra Soares
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end seleniumQualister
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislAdriano Petrich
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoPaula Grangeiro
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlManuel Lemos
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlDiego Tremper
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilElias Nogueira
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de softwarericardophp
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosElias Nogueira
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o NodejsCaio Cutrim
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmGuilherme Blanco
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudiMasters
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018Karla Silva
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMCAlisson Agiani
 

Similar to Como estruturar seus testes com jasmine e karma (20)

Test-Driven Development com JavaScript, Jasmine Karma
Test-Driven Development com JavaScript, Jasmine  KarmaTest-Driven Development com JavaScript, Jasmine  Karma
Test-Driven Development com JavaScript, Jasmine Karma
 
Integração continua sem traumas
Integração continua sem traumasIntegração continua sem traumas
Integração continua sem traumas
 
Testes Automatizados e testes de carga no Visual Studio Team Service
Testes Automatizados e testes de carga no Visual Studio Team ServiceTestes Automatizados e testes de carga no Visual Studio Team Service
Testes Automatizados e testes de carga no Visual Studio Team Service
 
Caipira agil automacao front end selenium
Caipira agil automacao front end seleniumCaipira agil automacao front end selenium
Caipira agil automacao front end selenium
 
Grunt
GruntGrunt
Grunt
 
TDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fislTDD em django sem desculpas versao fisl
TDD em django sem desculpas versao fisl
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Testes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de códigoTestes unitários como ferramentas de design de código
Testes unitários como ferramentas de design de código
 
Integração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControlIntegração Contínua com CruiseControl e phpUnderControl
Integração Contínua com CruiseControl e phpUnderControl
 
Integracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControlIntegracao Contínua com CruiseControl e phpUnderControl
Integracao Contínua com CruiseControl e phpUnderControl
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
PHPUnit e teste de software
PHPUnit e teste de softwarePHPUnit e teste de software
PHPUnit e teste de software
 
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidosParalelize seus testes web e mobile para ter feedbacks mais rápidos
Paralelize seus testes web e mobile para ter feedbacks mais rápidos
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o Nodejs
 
Desenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine OrmDesenvolvimento Agil Com Doctrine Orm
Desenvolvimento Agil Com Doctrine Orm
 
Android Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na CloudAndroid Dev Conference 2017 - Automação de Testes na Cloud
Android Dev Conference 2017 - Automação de Testes na Cloud
 
Agile Brazil 2018
Agile Brazil 2018Agile Brazil 2018
Agile Brazil 2018
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
Apresentação sobre MVVMC
Apresentação sobre MVVMCApresentação sobre MVVMC
Apresentação sobre MVVMC
 

Como estruturar seus testes com jasmine e karma