SlideShare uma empresa Scribd logo
Javascript
Alexandre Gomes
testando
Testes
Automatizados
TDDing com Javascript
TDDtest driven development
planejar
executaravaliar
intenção
códigomelhorias
vermelho
verderefactoring
intenção código melhorias
intenção código melhorias
intenção código melhorias
intenção código melhorias
TDDing com Javascript
TDDing com Javascript
https://weblogs.java.net/blog/johnsmart/archive/2014/01/04/bdd-unit-tests-and-power-fluent-assertions
http://jsunit.berlios.de/
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
Suite de Testes Cadastro de Usuários {
}
testeInclusaoDeUsuarioTudoCerto {
...
}
testeInclusaoDeUsuarioFaltandoDados {
...
}
descreva Cadastro de Usuários {
}
ela Deveria funcionar em um cenário normal {
...
}
ela Deveria dar erro se estiver faltando dados {
...
}
descreva Inclusão de Usuários {
}
descreva Exclusão de Usuários { ... }
• Cadastro de Usuários
• Inclusão
– Deveria funcionar em um cenário normal
– Deveria dar erro caso estejam faltando dados
– …
• Exclusão
– Expectativa 1
– Expectativa 2
– …
√
X
BDDbehaviour driven development
http://jasmine.github.io/
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
describe
it
it
it
it
o que eu estou testando
tem que se comportar assim
tem que se comportar assado
tem que fazer isso
tem que fazer aquilo
describe
it
it
it
it
o que eu estou testando
tem que se comportar assim
tem que se comportar assado
tem que fazer isso
tem que fazer aquilo
describe um caso especial
it tem que tomar cuidado
describe
it
it
it
it
o que eu estou testando
tem que se comportar assim
tem que se comportar assado
tem que fazer isso
tem que fazer aquilo
describe um caso especial
it
expect
tem que tomar cuidado
que alguma operação
toEqual ao resultado esperado
describe
it
it
it
it
o que eu estou testando
tem que se comportar assim
tem que se comportar assado
tem que fazer isso
tem que fazer aquilo
describe um caso especial
it
expect
tem que tomar cuidado
que alguma operação
toEqual ao resultado esperado
https://github.com/pivotal/jasmine/wiki/Matchers
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
TDDing com Javascript
DSLdomain driven language
Dado que Alguma circunstância
Quando alguma coisa acontecer
Então é esperado que algo aconteça
Given Alguma circunstância
When alguma coisa acontecer
Then é esperado que algo aconteça
http://martinfowler.com/bliki/GivenWhenThen.html
https://github.com/cucumber/cucumber/wiki/Given-When-Then
Given I am not logged in
When I log in as Liz with a password JBehaver
Then I should see a message, “Welcome, Liz!”
Given "the number 5"
When "all prime numbers less than it are requested"
Then "it should return [1,2,3,5] as a result"
http://jbehave.org/
Narrative:
As a Usuario
I want Preencher um pedido
So that Finalizar uma venda
Scenario: Verificar o saldo de produtos
Given O estoque tem 10 produtos
When Eu verifico que há a disponibilidade para vender 5 produtos
Then Deve retornar “true”
Scenario: Pedido preenchido com sucesso
Given O estoque tem 10 produtos
When Eu preencho um pedido com 3 produtos
Then Deve ser retornado que o status de preenchimento do pedido é
“true”
TDDing com Javascript
$ npm install cucumber
(node:37359) fs: re-evaluating native module sources is not supported. If you are using the graceful-fs module, please
update it to a more recent version.
node-labs@1.0.0 /Users/alegomes/GDrive/2016/unb/cic/mpca/Construção de Software/slides/NodeJS/_
└─┬ cucumber@1.0.0
├── base-64@0.1.0
├── callsite@1.0.0
├─┬ camel-case@1.2.2
│ ├─┬ sentence-case@1.1.3
│ │ └── lower-case@1.1.3
│ └── upper-case@1.1.3
├─┬ cli-table@0.3.1
│ └── colors@1.0.3
├── co@4.6.0
├── colors@1.1.2
├─┬ commander@2.9.0
│ └── graceful-readlink@1.0.1
├── cucumber-html@0.2.3
├─┬ duration@0.2.0
│ ├── d@0.1.1
│ └─┬ es5-ext@0.10.11
│ ├── es6-iterator@2.0.0
│ └── es6-symbol@3.0.2
├── gherkin@4.0.0
├─┬ glob@7.0.5
│ ├── fs.realpath@1.0.0
│ ├─┬ inflight@1.0.5
│ │ └── wrappy@1.0.2
│ ├─┬ minimatch@3.0.2
│ │ └─┬ brace-expansion@1.1.5
│ │ ├── balanced-match@0.4.1
│ │ └── concat-map@0.0.1
│ ├── once@1.3.3
│ └── path-is-absolute@1.0.0
├── is-generator@1.0.3
├── lodash@4.13.1
└── stack-chain@1.3.7
TDDing com Javascript
TDDing com Javascript
$ cucumber.js
TDDing com Javascript
$ cucumber.js
P&Raprender.unb.br

Mais conteúdo relacionado

PDF
Tutorial visão automação de testes e casper js
PPTX
Tutorial - Visão sobre Automação de Testes com CasperJS
PDF
Java script aula 02 - operadores
PPT
Aula javascript
PDF
Http Servlet
PDF
Java script aula 05 - funções
PPTX
Testando frontend utilizando ferraments JS
PDF
Java script aula 08 - formulários
Tutorial visão automação de testes e casper js
Tutorial - Visão sobre Automação de Testes com CasperJS
Java script aula 02 - operadores
Aula javascript
Http Servlet
Java script aula 05 - funções
Testando frontend utilizando ferraments JS
Java script aula 08 - formulários

Semelhante a TDDing com Javascript (20)

PDF
GraphQL e APIs: como manter a qualidade?
PDF
Hibernate efetivo (IA-2014 / Disturbing the Mind)
PDF
T08_T09_LM3: Estruturas de repetição (2013-2014)
PDF
Testes unitários como ferramentas de design de código
PPTX
Pacote web java script
PDF
[PHPConferenceBR] Automação de testes com Codeception
PDF
VisualG Curso_Basico_manual do aluno____
PDF
pepinos do cliente no código de testes da aplicação com OSS
PDF
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
PDF
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
PDF
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
PPTX
Maratona Windows Phone 7
PDF
Jj08 otimizacao
PPTX
Microsoft S2B - C# ASP.NET
PPTX
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
PDF
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
PDF
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
PPTX
Como ser programador durante o dia e mesmo assim dormir bem à noite
PPTX
Testes de software de A a Z
GraphQL e APIs: como manter a qualidade?
Hibernate efetivo (IA-2014 / Disturbing the Mind)
T08_T09_LM3: Estruturas de repetição (2013-2014)
Testes unitários como ferramentas de design de código
Pacote web java script
[PHPConferenceBR] Automação de testes com Codeception
VisualG Curso_Basico_manual do aluno____
pepinos do cliente no código de testes da aplicação com OSS
[38º GURU SP] Automação de Testes Web em Ruby com Cucumber e Webdriver
Fisl 16 – Nem tudo o que reluz é ouro. hackeando as principais dicas de desen...
Fisl 16 - Nem tudo o que reluz é ouro. hackeando as principais dicas de dese...
Maratona Windows Phone 7
Jj08 otimizacao
Microsoft S2B - C# ASP.NET
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
Node VM and ChildProcess: Executando códigos não confiáveis no seu servidor
Como ser programador durante o dia e mesmo assim dormir bem à noite
Testes de software de A a Z
Anúncio

Mais de Alexandre Gomes (20)

PDF
Construção de Software - 1º/2017
PDF
Aprendendo a Aprender
PDF
Programação Funcional com Javascript
PDF
UnB/PPCA/CS2016 - Projeto 2
PDF
Javascript do jeito certo
PDF
Construção de Software - 1º/2016
PDF
Plano de Ensino de Tópicos Avançados em Engenharia de Software
PDF
O Pensamento Ágil
PDF
Manifesto 2.0
PDF
Construção de Software - 1º semestre de 2014
PDF
Business Modeling
PDF
Design Thinking
PDF
Manifesto Ágil
PDF
Laboratório de Métodos Ágeis 1/2014 - Apresentação
PDF
Scraping by examples
KEY
Scraping by examples
PDF
OpenData, Web Semântica e afins.
KEY
Javascript do jeito certo
KEY
Javascript orientado a testes
ZIP
Escolhas 2.0
Construção de Software - 1º/2017
Aprendendo a Aprender
Programação Funcional com Javascript
UnB/PPCA/CS2016 - Projeto 2
Javascript do jeito certo
Construção de Software - 1º/2016
Plano de Ensino de Tópicos Avançados em Engenharia de Software
O Pensamento Ágil
Manifesto 2.0
Construção de Software - 1º semestre de 2014
Business Modeling
Design Thinking
Manifesto Ágil
Laboratório de Métodos Ágeis 1/2014 - Apresentação
Scraping by examples
Scraping by examples
OpenData, Web Semântica e afins.
Javascript do jeito certo
Javascript orientado a testes
Escolhas 2.0
Anúncio

Último (11)

PPTX
Utilizando code blockes por andre backes
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PPTX
Arquitetura de computadores - Memórias Secundárias
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PPTX
Design - Introdução a Gestalt e teoria das formas
PPTX
Tipos de servidor em redes de computador.pptx
PDF
Manejo integrado de pragas na cultura do algodão
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Utilizando code blockes por andre backes
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Arquitetura de computadores - Memórias Secundárias
Viasol Energia Solar -Soluções para geração e economia de energia
Design - Introdução a Gestalt e teoria das formas
Tipos de servidor em redes de computador.pptx
Manejo integrado de pragas na cultura do algodão
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Eng. Software - pontos essenciais para o início
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...

TDDing com Javascript