SlideShare uma empresa Scribd logo
1 de 21
Raphael Augusto Ferroni Cardoso
raphaelcardoso.com.br
Café com Arquitetura
Testando seu código JavaScript com
raphaelcardoso.com.br
Roteiro
• O que é o Jasmine?
• Como utilizar em meu projeto?
• Um pouco sobre alguns Matchers
• Demo
• Fontes de Referência
raphaelcardoso.com.br
O que é o Jasmine?
raphaelcardoso.com.br
O que é o Jasmine?
• É um Framework utilizado para criar testes em JavaScript
• Utiliza o conceito BDD, ou seja, testes guiados por comportamento
• Possui sintaxe simples e de fácil leitura
• Executa os testes no navegador ou por linha de comando
• É independente de qualquer outro Framework
• Pode ser usado em projetos NodeJs, Ruby ou Python
raphaelcardoso.com.br
Como utilizar em meu projeto?
raphaelcardoso.com.br
Como utilizar em meu projeto?
Versão Standalone
• Acesse o site e efetue o download da última versão
• https://jasmine.github.io/
• Descompactar no diretório raiz do nosso projeto
raphaelcardoso.com.br
Como utilizar em meu projeto?
raphaelcardoso.com.br
Como utilizar em meu projeto?
Suite
Spec
Matchers
raphaelcardoso.com.br
Como utilizar em meu projeto?
• Abrir o arquivo SpecRunner.html no navegador padrão
raphaelcardoso.com.br
Como utilizar em meu projeto?
Executando usando o Karma
• Instalando os pacotes requeridos
• npm i --save-dev jasmine jasmine-core karma karma-chrome-launcher karma-
jasmine
• Cria a estrutura do jasmine
• .node_modules.binjasmine init
• Cria a estrutura do karma
• .node_modules.binkarma init
• Executar o karma
• .node_modules.binkarma start
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
• toBe: Compara o valor e o tipo do objeto
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
• toEqual: Compara o valor do objeto
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
• toMatch: Comparação utilizando expressão regular
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
• toContain: Verifica se está contido no array
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
• not: Pode ser utilizado em conjunto com outros matchers para inverter a
comparação
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
Alguns outros matchers
• toBeUndefined
• toBeDefined
• toBeNull
• toBeNaN
• toThrow
• toThrowError
• toBeTruthy
• toBeFalsy
• toBeLessThan
• toBeGreaterThan
raphaelcardoso.com.br
Um pouco sobre alguns Matchers
• É possível criar seu próprio Matcher usando jasmine.addMatchers
raphaelcardoso.com.br
Demo
O fonte do demo pode ser acessado em:
https://github.com/ferronicardoso/testando-javascript-com-jasmine
raphaelcardoso.com.br
Fontes de Referências
• https://jasmine.github.io/
• https://karma-runner.github.io/
• https://docs.angularjs.org/guide/unit-testing
• https://angular.io/guide/testing
• http://blog.emirosmanoski.mk/Angular-Karma-Jasmine/
• http://www.codeatest.com/jasmine-teste-codigo-javascript/
raphaelcardoso.com.br
Contatos
• Site: raphaelcardoso.com.br
• Github: github.com/ferronicardoso
• Linkedin: linkedin.com/in/ferronicardoso
• E-mail: ferronicardoso@outlook.com
Obrigado

Mais conteúdo relacionado

Mais procurados

Cya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsCya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsMichael Douglas
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais característicasalinebiath
 
Técnicas para ser escalável com PHP
Técnicas para ser escalável com PHPTécnicas para ser escalável com PHP
Técnicas para ser escalável com PHPFilipe La Ruina
 
Como estruturar seus testes com jasmine e karma
Como estruturar seus testes com jasmine e karmaComo estruturar seus testes com jasmine e karma
Como estruturar seus testes com jasmine e karmaEnrique Marques Junior
 
In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisAna Paula Gomes
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCMayara Fernandes
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panosLaís Lima
 

Mais procurados (7)

Cya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.jsCya grunt.js, hello gulp.js
Cya grunt.js, hello gulp.js
 
Robot Framework - principais características
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
 
Técnicas para ser escalável com PHP
Técnicas para ser escalável com PHPTécnicas para ser escalável com PHP
Técnicas para ser escalável com PHP
 
Como estruturar seus testes com jasmine e karma
Como estruturar seus testes com jasmine e karmaComo estruturar seus testes com jasmine e karma
Como estruturar seus testes com jasmine e karma
 
In tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e maisIn tests we trust: começando com TDD, mocks e mais
In tests we trust: começando com TDD, mocks e mais
 
Automação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SCAutomação de Testes com Robot Framework - GUTS-SC
Automação de Testes com Robot Framework - GUTS-SC
 
Javascript por debaixo dos panos
Javascript por debaixo dos panosJavascript por debaixo dos panos
Javascript por debaixo dos panos
 

Semelhante a Testando JavaScript com Jasmine

Boas Práticas de Programação
Boas Práticas de ProgramaçãoBoas Práticas de Programação
Boas Práticas de ProgramaçãoPaulo Souza
 
Testes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsTestes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsThiago Cifani
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimentamichel adriano medeiros
 
Testes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkTestes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkYuri Adams
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Railsismaelstahelin
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAThiago Cifani
 
A importância de padronizar nosso CSS
A importância de padronizar nosso CSSA importância de padronizar nosso CSS
A importância de padronizar nosso CSSFernando Henriques
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Rogerio Prado de Jesus
 
Reuso De Código Com Rails
Reuso De Código Com RailsReuso De Código Com Rails
Reuso De Código Com RailsRodrigo Urubatan
 
Java+DDD+BDD+TDD=Sucesso Total
Java+DDD+BDD+TDD=Sucesso TotalJava+DDD+BDD+TDD=Sucesso Total
Java+DDD+BDD+TDD=Sucesso TotalEduardo Bregaida
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1Bruno Catão
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebJairo Junior
 
Locaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercialLocaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercialFernando Hamasaki de Amorim
 
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadradoTDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadradoCezinha Anjos
 

Semelhante a Testando JavaScript com Jasmine (20)

Boas Práticas de Programação
Boas Práticas de ProgramaçãoBoas Práticas de Programação
Boas Práticas de Programação
 
Testes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on RailsTestes Automatizados em Ruby on Rails
Testes Automatizados em Ruby on Rails
 
Potencializando a qualidade de código
Potencializando a qualidade de códigoPotencializando a qualidade de código
Potencializando a qualidade de código
 
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando PimentaIniciando com Ruby on Rails - Luiz Fernando Pimenta
Iniciando com Ruby on Rails - Luiz Fernando Pimenta
 
Testes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine FrameworkTestes Unitários com JavaScript utilizando Jasmine Framework
Testes Unitários com JavaScript utilizando Jasmine Framework
 
Esta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com RailsEsta começando a programar para a web? Então começe com Rails
Esta começando a programar para a web? Então começe com Rails
 
Palestra Fatec
Palestra FatecPalestra Fatec
Palestra Fatec
 
Palestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVAPalestra Desenvolvimento Ágil para Web com ROR UVA
Palestra Desenvolvimento Ágil para Web com ROR UVA
 
A importância de padronizar nosso CSS
A importância de padronizar nosso CSSA importância de padronizar nosso CSS
A importância de padronizar nosso CSS
 
Frameworks PHP
Frameworks PHPFrameworks PHP
Frameworks PHP
 
Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012Desenvolvimento PHP com Vagrant - TDC 2012
Desenvolvimento PHP com Vagrant - TDC 2012
 
Reuso De Código Com Rails
Reuso De Código Com RailsReuso De Código Com Rails
Reuso De Código Com Rails
 
Java+DDD+BDD+TDD=Sucesso Total
Java+DDD+BDD+TDD=Sucesso TotalJava+DDD+BDD+TDD=Sucesso Total
Java+DDD+BDD+TDD=Sucesso Total
 
Rails na pratica
Rails na praticaRails na pratica
Rails na pratica
 
React JS - Parte 1
React JS - Parte 1React JS - Parte 1
React JS - Parte 1
 
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações WebFrameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
Frameworks Opensource: ferramentas para desenvolvimento rápido de aplicações Web
 
Locaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercialLocaweb + Spree: transformando código aberto em um projeto comercial
Locaweb + Spree: transformando código aberto em um projeto comercial
 
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadradoTDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
TDC 2014 - SP - Bower & Robygems - Cada um no seu quadrado
 
Frameworks PHP @edgarsandi
Frameworks PHP @edgarsandiFrameworks PHP @edgarsandi
Frameworks PHP @edgarsandi
 
Introdução ao java
Introdução ao javaIntrodução ao java
Introdução ao java
 

Testando JavaScript com Jasmine