cpbr5 desenvolvimento de aplicativos mobile nativos com javascript
TDDing com Javascript
-
Upload
alexandre-gomes -
Category
Technology
-
view
111 -
download
0
Transcript of TDDing com Javascript
![Page 1: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/1.jpg)
Javascript
Alexandre Gomes
testando
![Page 2: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/2.jpg)
TestesAutomatizados
![Page 3: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/3.jpg)
![Page 4: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/4.jpg)
TDDtest driven development
![Page 5: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/5.jpg)
planejar
executaravaliar
![Page 6: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/6.jpg)
intenção
códigomelhorias
![Page 7: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/7.jpg)
vermelho
verderefactoring
![Page 8: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/8.jpg)
intenção código melhorias
![Page 9: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/9.jpg)
intenção código melhorias
![Page 10: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/10.jpg)
intenção código melhorias
![Page 11: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/11.jpg)
intenção código melhorias
![Page 12: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/12.jpg)
![Page 13: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/13.jpg)
![Page 14: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/14.jpg)
https://weblogs.java.net/blog/johnsmart/archive/2014/01/04/bdd-unit-tests-and-power-fluent-assertions
![Page 15: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/15.jpg)
http://jsunit.berlios.de/
![Page 16: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/16.jpg)
![Page 17: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/17.jpg)
![Page 18: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/18.jpg)
![Page 19: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/19.jpg)
![Page 20: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/20.jpg)
![Page 21: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/21.jpg)
Suite de Testes Cadastro de Usuários {
}
testeInclusaoDeUsuarioTudoCerto { ...}
testeInclusaoDeUsuarioFaltandoDados { ...}
![Page 22: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/22.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/23.jpg)
• 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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/24.jpg)
BDDbehaviour driven development
![Page 25: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/25.jpg)
http://jasmine.github.io/
![Page 26: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/26.jpg)
![Page 27: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/27.jpg)
![Page 28: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/28.jpg)
![Page 29: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/29.jpg)
![Page 30: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/30.jpg)
![Page 31: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/31.jpg)
![Page 32: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/32.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/33.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/34.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/35.jpg)
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://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/36.jpg)
https://github.com/pivotal/jasmine/wiki/Matchers
![Page 37: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/37.jpg)
![Page 38: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/38.jpg)
![Page 39: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/39.jpg)
![Page 40: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/40.jpg)
![Page 41: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/41.jpg)
![Page 42: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/42.jpg)
DSLdomain driven language
![Page 43: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/43.jpg)
Dado que Alguma circunstânciaQuando alguma coisa acontecerEntão é esperado que algo aconteça
![Page 44: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/44.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/45.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/46.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/47.jpg)
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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/48.jpg)
![Page 49: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/49.jpg)
$ 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](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/50.jpg)
![Page 51: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/51.jpg)
![Page 52: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/52.jpg)
$ cucumber.js
![Page 53: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/53.jpg)
![Page 54: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/54.jpg)
$ cucumber.js
![Page 55: TDDing com Javascript](https://reader031.fdocumentos.com/reader031/viewer/2022021422/5889f8a71a28ab0f388b4fb1/html5/thumbnails/55.jpg)
P&Raprender.unb.br