tdding com javascript

55
Javascript Alexandre Gomes testando

Upload: alexandre-gomes

Post on 26-Jan-2017

111 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: TDDing com Javascript

Javascript

Alexandre Gomes

testando

Page 2: TDDing com Javascript

TestesAutomatizados

Page 3: TDDing com Javascript
Page 4: TDDing com Javascript

TDDtest driven development

Page 5: TDDing com Javascript

planejar

executaravaliar

Page 6: TDDing com Javascript

intenção

códigomelhorias

Page 7: TDDing com Javascript

vermelho

verderefactoring

Page 8: TDDing com Javascript

intenção código melhorias

Page 9: TDDing com Javascript

intenção código melhorias

Page 10: TDDing com Javascript

intenção código melhorias

Page 11: TDDing com Javascript

intenção código melhorias

Page 12: TDDing com Javascript
Page 13: TDDing com Javascript
Page 14: TDDing com Javascript

https://weblogs.java.net/blog/johnsmart/archive/2014/01/04/bdd-unit-tests-and-power-fluent-assertions

Page 15: TDDing com Javascript

http://jsunit.berlios.de/

Page 16: TDDing com Javascript
Page 17: TDDing com Javascript
Page 18: TDDing com Javascript
Page 19: TDDing com Javascript
Page 20: TDDing com Javascript
Page 21: TDDing com Javascript

Suite de Testes Cadastro de Usuários {

}

testeInclusaoDeUsuarioTudoCerto { ...}

testeInclusaoDeUsuarioFaltandoDados { ...}

Page 22: TDDing com Javascript

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 { ... }

Page 23: TDDing com Javascript

• 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

Page 24: TDDing com Javascript

BDDbehaviour driven development

Page 25: TDDing com Javascript

http://jasmine.github.io/

Page 26: TDDing com Javascript
Page 27: TDDing com Javascript
Page 28: TDDing com Javascript
Page 29: TDDing com Javascript
Page 30: TDDing com Javascript
Page 31: TDDing com Javascript
Page 32: TDDing com Javascript

describe

itititit

o que eu estou testando

tem que se comportar assim

tem que se comportar assado

tem que fazer isso

tem que fazer aquilo

Page 33: TDDing com Javascript

describe

itititit

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

Page 34: TDDing com Javascript

describe

itititit

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

itexpect

tem que tomar cuidado

que alguma operação

toEqual ao resultado esperado

Page 35: TDDing com Javascript

describe

itititit

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

itexpect

tem que tomar cuidado

que alguma operação

toEqual ao resultado esperado

Page 36: TDDing com Javascript

https://github.com/pivotal/jasmine/wiki/Matchers

Page 37: TDDing com Javascript
Page 38: TDDing com Javascript
Page 39: TDDing com Javascript
Page 40: TDDing com Javascript
Page 41: TDDing com Javascript
Page 42: TDDing com Javascript

DSLdomain driven language

Page 43: TDDing com Javascript

Dado que Alguma circunstânciaQuando alguma coisa acontecerEntão é esperado que algo aconteça

Page 44: TDDing com Javascript

Given Alguma circunstânciaWhen alguma coisa acontecerThen é esperado que algo aconteça

http://martinfowler.com/bliki/GivenWhenThen.html

https://github.com/cucumber/cucumber/wiki/Given-When-Then

Page 45: TDDing com Javascript

Given I am not logged inWhen I log in as Liz with a password JBehaverThen I should see a message, “Welcome, Liz!”

Page 46: TDDing com Javascript

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/

Page 47: TDDing com Javascript

Narrative:As a UsuarioI want Preencher um pedidoSo that Finalizar uma venda

Scenario: Verificar o saldo de produtosGiven O estoque tem 10 produtosWhen Eu verifico que há a disponibilidade para vender 5 produtosThen Deve retornar “true”

Scenario: Pedido preenchido com sucessoGiven O estoque tem 10 produtosWhen Eu preencho um pedido com 3 produtosThen Deve ser retornado que o status de preenchimento do pedido é “true”

Page 48: TDDing com Javascript
Page 49: 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. [email protected] /Users/alegomes/GDrive/2016/unb/cic/mpca/Construção de Software/slides/NodeJS/_ └─┬ [email protected] ├── [email protected] ├── [email protected] ├─┬ [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ └── [email protected] ├─┬ [email protected] │ └── [email protected] ├── [email protected] ├── [email protected] ├─┬ [email protected] │ └── [email protected] ├── [email protected] ├─┬ [email protected] │ ├── [email protected] │ └─┬ [email protected] │ ├── [email protected] │ └── [email protected] ├── [email protected] ├─┬ [email protected] │ ├── [email protected] │ ├─┬ [email protected] │ │ └── [email protected] │ ├─┬ [email protected] │ │ └─┬ [email protected] │ │ ├── [email protected] │ │ └── [email protected] │ ├── [email protected] │ └── [email protected] ├── [email protected] ├── [email protected] └── [email protected]

Page 50: TDDing com Javascript
Page 51: TDDing com Javascript
Page 52: TDDing com Javascript

$ cucumber.js

Page 53: TDDing com Javascript
Page 54: TDDing com Javascript

$ cucumber.js

Page 55: TDDing com Javascript

P&Raprender.unb.br