SlideShare uma empresa Scribd logo
1 de 20
Jasmine
Behavior-Driven JavaScript
Agenda
● O que é Jasmine?
● Sintaxe
● Debug
● Conclusão
Jonathan Sedrez
Frontend - ilegra
O que é Jasmine?
Framework JavaScript
Framework JS
- Frontend - Javascript
- Backend - NodeJS
- Mobile - React Native
- e.t.c.
behavior-driven development
GIVEN WHEN THEN
- BDD é uma técnica de desenvolvimento de software ágil
- Ajuda a integrar regra de negócio ao software
- Linguagem natural
- Visa otimizar o conceito de 'verificação e validação' já aplicado, e
tornar mais eficiente a construção de cenários a serem testados
BDD
Sintaxe
Contém um ou mais
expectations. É
propriamente o
conjunto de testes da
aplicação.
Quando um ou mais
specs tem o retorno
false é considerado um
testa fracassado.
Specs
Agrupa um conjunto de
specs. Isso ajuda a
encontrar
especificações em um
grande conjunto de
testes.
Se você os nomear bem,
suas especificações
serão lidas como frases
completas no estilo
tradicional do BDD.
Suites
As expectations são
construídas com a
função expect. É
encadeado com uma
função Matcher, que
leva o valor esperado
Expectations
Implementa uma
comparação booleana
entre o valor real e o
valor esperado.
Matchers
fit()
Foca em algum spec específico.
xit()
Desabilita uma spec de testes.
fdescribe()
Foca em apenas uma suite de testes
xdescribe()
Desabilita uma suite de testes.
beforeEach()
Executa alguma configuração
compartilhada antes de cada spec
afterEach()
Executa alguma configuração
compartilhada após de cada spec
afterAll()
Executa alguma configuração
compartilhada antes de todas specs
beforeAll()
Executa alguma configuração
compartilhada antes de todas specs
Matchers
toBe toHaveBeenCalle
dTimes
toBeInstanceOf toBeTrue
toBeCloseTo
toBeDefined
toBeFalse
toBeFalsy
toBeGreaterThan
toBeGreaterThanOr
Equal
toBeLessThan
toBeLessThanOrE
qual
toBeNaN
toBeNegativeInf
inity
toBeNull
toBePositiveInf
inity
toBeTruthy
toBeUndefined
toContain
toEqual
toHaveBeenCalle
d
toHaveBeenCalle
dBefore
toHaveBeenCalle
dWith
toHaveBeenCalle
dWith
toHaveClass
toMatch
toThrow
toThrowError
Debug
Sucesso!
Falha! :(
Conclusão
Obrigado!

Mais conteúdo relacionado

Semelhante a Jasmine

Apresentação jasmine
Apresentação jasmineApresentação jasmine
Apresentação jasmineRangel Javier
 
BDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoBDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoGleica Reinert
 
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
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JSRodrigo Urubatan
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da ZendDomingos Teruel
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Rafael Prallon
 
Reinventar a roda a cada novo framework js, vale a pena?
Reinventar a roda a cada novo framework js, vale a pena?Reinventar a roda a cada novo framework js, vale a pena?
Reinventar a roda a cada novo framework js, vale a pena?Fernanda Bernardo
 
Construindo software em segurança com BDD
Construindo software em segurança com BDDConstruindo software em segurança com BDD
Construindo software em segurança com BDDHenrique Luz
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e DependênciasWende Mendes
 
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003Edgar Silva
 
Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”elliando dias
 

Semelhante a Jasmine (20)

[Node js] frameworks de testes end to-end baseados em nodejs
[Node js] frameworks de testes end to-end baseados em nodejs [Node js] frameworks de testes end to-end baseados em nodejs
[Node js] frameworks de testes end to-end baseados em nodejs
 
Behaviour-Driven Development com Ruby
Behaviour-Driven Development com RubyBehaviour-Driven Development com Ruby
Behaviour-Driven Development com Ruby
 
Apresentação jasmine
Apresentação jasmineApresentação jasmine
Apresentação jasmine
 
Be React. Do Tests!
Be React. Do Tests!Be React. Do Tests!
Be React. Do Tests!
 
TDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVATDD - Test Driven Development com JAVA
TDD - Test Driven Development com JAVA
 
BDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoBDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programação
 
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
 
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015  Porto Alegre - Interfaces ricas com Rails e React.JSTDC2015  Porto Alegre - Interfaces ricas com Rails e React.JS
TDC2015 Porto Alegre - Interfaces ricas com Rails e React.JS
 
Growing oos guided_by_tests entire
Growing oos guided_by_tests entireGrowing oos guided_by_tests entire
Growing oos guided_by_tests entire
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Desmistificando o Framework da Zend
Desmistificando o Framework da ZendDesmistificando o Framework da Zend
Desmistificando o Framework da Zend
 
Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...Behavior Driven Development - Unificando propostas de negócio com testes e có...
Behavior Driven Development - Unificando propostas de negócio com testes e có...
 
Bdd&tdd
Bdd&tddBdd&tdd
Bdd&tdd
 
POO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de DadosPOO - 21 - Java e Banco de Dados
POO - 21 - Java e Banco de Dados
 
Reinventar a roda a cada novo framework js, vale a pena?
Reinventar a roda a cada novo framework js, vale a pena?Reinventar a roda a cada novo framework js, vale a pena?
Reinventar a roda a cada novo framework js, vale a pena?
 
Spring data
Spring dataSpring data
Spring data
 
Construindo software em segurança com BDD
Construindo software em segurança com BDDConstruindo software em segurança com BDD
Construindo software em segurança com BDD
 
CDI -Contextos e Dependências
CDI -Contextos e DependênciasCDI -Contextos e Dependências
CDI -Contextos e Dependências
 
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003Aplicando  eXtreming Programing  ao cenário do  Borland ALM - BorCon 2003
Aplicando eXtreming Programing ao cenário do Borland ALM - BorCon 2003
 
Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”Bancos de Dados em “Clouds”
Bancos de Dados em “Clouds”
 

Mais de Jonathan de Britto Sedrez (15)

Typescript 4.1
Typescript 4.1Typescript 4.1
Typescript 4.1
 
Socket.io
Socket.ioSocket.io
Socket.io
 
RSocket
RSocketRSocket
RSocket
 
Rambda
RambdaRambda
Rambda
 
PWA
PWAPWA
PWA
 
OTA updates
OTA updatesOTA updates
OTA updates
 
OKRs
OKRsOKRs
OKRs
 
Facebook flux
Facebook fluxFacebook flux
Facebook flux
 
Event bubbling
Event bubblingEvent bubbling
Event bubbling
 
EscmaScript
EscmaScriptEscmaScript
EscmaScript
 
Es2020
Es2020Es2020
Es2020
 
Enzyme js
Enzyme jsEnzyme js
Enzyme js
 
Cypress
CypressCypress
Cypress
 
Chart css
Chart cssChart css
Chart css
 
Bff patterns
Bff patternsBff patterns
Bff patterns
 

Jasmine

Notas do Editor

  1. Jasmine is a Behavior Driven Development testing framework for JavaScript.