BDD com EasyB Por Ismael Soares
http://www.easyb.org/
Simplesmente descomplicado
Fácil de aprender Características Utiliza linguaguem dinâmica (Groovy) Possui dois formatos para escrita de código (Storie...
Maven < dependency > < groupId > org.easyb </ groupId > < artifactId > easyb-maven-plugin </ artifactId > < version > 0.9....
Triste notícia….
Mas nem tudo está perdido….
Plugin para Eclipse
Exemplo com Estória do Usuário
Definição do formato
<ul><li>//Descri ç ão do teste (opcional) </li></ul><ul><li>description   &quot;Cliente faz saque &quot; </li></ul><ul><li...
//Segundo Cen á rio 26.  scenario   &quot;cliente comum com saldo negativo&quot; ,{ 27.  given   &quot;um cliente comum co...
1.  description   &quot;Testando uma pilha&quot; 2.  before   &quot;inicializa a fila para cada especifica ç ão&quot; , { ...
Executando com Maven
Relatório HTML
Plugin do Maven para gerar relatórios < build > < plugins > < plugin >   < groupId > org.easyb </ groupId >   < artifactId...
Links e Referências http://www.easyb.org/ Site oficial do framework EasyB. http://www.easyb.org/running.html#eclipse Plugi...
Obrigado!
Upcoming SlideShare
Loading in …5
×

BDD com Easyb

2,303 views
2,242 views

Published on

Conheça uma das ferramentas de BDD mais utilizada pela comunidade Java. Easyb recebeu este posto pela sua simplicidade e objetividade na escrita de testes.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,303
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

BDD com Easyb

  1. 1. BDD com EasyB Por Ismael Soares
  2. 2. http://www.easyb.org/
  3. 3. Simplesmente descomplicado
  4. 4. Fácil de aprender Características Utiliza linguaguem dinâmica (Groovy) Possui dois formatos para escrita de código (Stories e Specifications) Relatórios HTML usando Maven Plugin para o Eclipse
  5. 5. Maven < dependency > < groupId > org.easyb </ groupId > < artifactId > easyb-maven-plugin </ artifactId > < version > 0.9.7-1 </ version > </ dependency >
  6. 6. Triste notícia….
  7. 7. Mas nem tudo está perdido….
  8. 8. Plugin para Eclipse
  9. 9. Exemplo com Estória do Usuário
  10. 10. Definição do formato
  11. 11. <ul><li>//Descri ç ão do teste (opcional) </li></ul><ul><li>description &quot;Cliente faz saque &quot; </li></ul><ul><li>//Narrativa da est ó ria (opcional) </li></ul><ul><li>2. narrative 'Saque de Cliente' , { </li></ul><ul><li>3. as_a 'cliente' </li></ul><ul><li>4. i_want 'de sacar dinheiro em caixa eletrônico' </li></ul><ul><li>5. so_that 'eu não tenha que esperar numa fila de banco' </li></ul><ul><li>6. } </li></ul><ul><li>//M é todo que ser á executado antes de cada cen á rio </li></ul><ul><li>//Instancia o cliente e cria a vari á vel que ir á armazenar o retorno do saque </li></ul><ul><li>7. before_each &quot;&quot; ,{ </li></ul><ul><li>8. given &quot;um cliente&quot; ,{ </li></ul><ul><li>9. cliente = new Cliente() </li></ul><ul><li>10. saqueEfetuado = false </li></ul><ul><li>11. } </li></ul><ul><li>12. } </li></ul><ul><li>//Primeiro Cen á rio </li></ul><ul><li>13. scenario &quot;cliente especial com saldo negativo&quot; ,{ </li></ul><ul><ul><li>14. given &quot;um cliente especial com saldo atual de -200 reais&quot; ,{ </li></ul></ul><ul><ul><li>15. cliente.saldoAtual = -200; </li></ul></ul><ul><ul><li>16. cliente.clienteEspecial(); </li></ul></ul><ul><ul><li>17. } </li></ul></ul><ul><ul><li>18. when &quot;for solicitado um saque no valor de 100 reais&quot; , { </li></ul></ul><ul><ul><li>19. saqueEfetuado = cliente.sacar(100); </li></ul></ul><ul><ul><li>20. } </li></ul></ul><ul><ul><li>21. then &quot;deve efetuar o saque e atualizar o saldo da conta para -300 reais&quot; , { </li></ul></ul><ul><ul><li>22. saqueEfetuado.shouldBe true </li></ul></ul><ul><ul><li>23. (cliente.saldoAtual == -300).shouldBe true </li></ul></ul><ul><ul><li>24. } </li></ul></ul><ul><li>25. } </li></ul>CaixaEletronicoTest.story
  12. 12. //Segundo Cen á rio 26. scenario &quot;cliente comum com saldo negativo&quot; ,{ 27. given &quot;um cliente comum com saldo atual de -300 reais&quot; ,{ 28. cliente.saldoAtual = -300; 29. cliente.clienteComum(); 30. } 31. when &quot;for solicitado um saque no valor de 200 reais&quot; , { 32. try { 33. cliente.sacar(200) 34. } catch (Exception e) { 35. msg = e.message 36. } 37. } 38. then &quot;não deve efetuar o saque&quot; , { 39. saqueEfetuado.shouldBe false } 41. and &quot;deve retornar a mensagem Saldo Insuficiente&quot; ,{ 42. msg.shouldBe 'Saldo Insuficiente' 43. } 43. } CaixaEletronicoTest.story
  13. 13. 1. description &quot;Testando uma pilha&quot; 2. before &quot;inicializa a fila para cada especifica ç ão&quot; , { 3. pilha = new Stack<Integer>() 4. } 5. it &quot;deve possuir apenas 1 elemento&quot; , { 6. pilha. push (2) 7. pilha. size ().shouldBe(1) 8. } 9. it &quot;deve retornar uma exception quando for retirado um elemento da pilha vazia&quot; , { 10. ensureThrows (Exception. class ) { 11. pilha. pop () } 13. } 14. it &quot;deve empilhar e desempilhar os elementos na mesma ordem&quot; , { 15. [1..5]. each {val -> 16. pilha. push (val) 17. } 18. [1..5]. each {val -> 19. pilha. pop ().shouldBe(val) 20. } 21 } CaixaEletronicoTest.specification
  14. 14. Executando com Maven
  15. 15. Relatório HTML
  16. 16. Plugin do Maven para gerar relatórios < build > < plugins > < plugin > < groupId > org.easyb </ groupId > < artifactId > maven-easyb-plugin </ artifactId > < version > 0.9.7-1 </ version > < executions > < execution > < goals > < goal > test </ goal > </ goals > </ execution > </ executions > < configuration > < storyType > html </ storyType > < storyReport > ${project.build.directory}/ easyb /stories.html </ storyReport > </ configuration > </ plugin > </ plugins > </ build >
  17. 17. Links e Referências http://www.easyb.org/ Site oficial do framework EasyB. http://www.easyb.org/running.html#eclipse Plugin do EasyB para a IDE Eclipse. Chelimsky,David, Aslak Hellesøy, Dave Astels, Zach Dennis, Bryan Helmkamp e Dan North. The RSpec Book : Behaviour Driven Development with RSpec, Cucumber, and Friends . Edited by Jacquelyn Carter. ISBN: 978.1.93435.637-1 http://www.reginaldo.cnt.br/leitura/curiosidades/fotos-curiosas/gato_assustado.gif
  18. 18. Obrigado!

×