Download ppt - BDD JBehave

Transcript
Page 1: BDD JBehave

BDD com JBehavePor Ismael Soares

Page 2: BDD JBehave

Relembrando...Relembrando...

Page 3: BDD JBehave

Dificuldades ao iniciar com TDD...Dificuldades ao iniciar com TDD...

Por onde começar?Por onde começar?O que testar?O que testar?

O teste tem que começar falhando?O teste tem que começar falhando?

Page 4: BDD JBehave

Cansado de ver problemas Cansado de ver problemas como estes, Dan North...como estes, Dan North...

Idealiza BDDIdealiza BDD

Page 5: BDD JBehave

O que é BDD?O que é BDD?

Page 6: BDD JBehave

BDDBDD (Desenvolvimento Orientado por Comportamento)(Desenvolvimento Orientado por Comportamento)

Uma técnica de desenvolvimento ágil que visa integrar regras de negócios com linguagem de programação.

Page 7: BDD JBehave

Existem muitas ferramentas

Existem muitas ferramentas

Para fazer o trabalho duro...

Para fazer o trabalho duro...

JBehave

Page 8: BDD JBehave

JBehaveJBehave

Page 9: BDD JBehave

Por que usar JBehavePor que usar JBehave

Page 10: BDD JBehave

Facilitar a comunicação entre Facilitar a comunicação entre todos os envolvidostodos os envolvidos

Page 11: BDD JBehave

Verificar o comportamento através Verificar o comportamento através de integração contínuade integração contínua

Page 12: BDD JBehave

Como JBehave funcionaComo JBehave funciona

Page 13: BDD JBehave

Modelo do Arquivo Texto

Modelo do Arquivo Texto

Page 14: BDD JBehave

ExemploExemplo

Estória do Usuário

Page 15: BDD JBehave

No Arquivo Texto...

No Arquivo Texto...

Story: Cliente faz saque de dinheiroComo um cliente, eu gostaria de sacar dinheiroem caixa eletrônico, para que eu não tenhaque esperar numa fila de banco

Scenario: Cliente especial com saldo negativoGiven um cliente especial com saldo atual de -200 reaisWhen for solicitado um saque no valor de 100 reais Then deve efetuar o saque e atualizar o saldo da conta para -300 reais

Scenario: Cliente comum com saldo negativoGiven um cliente comum com saldo atual de -300 reaisWhen solicitar um saque de 200 reais Then não deve efetuar o saque e deve retornar a mensagem Saldo Insuficiente

Nome: caixa_eletronico_test (sem extensão e as palavras por “_”)

Page 16: BDD JBehave

Esquema JBehave

Esquema JBehave

Page 17: BDD JBehave

Esquema JBehave

Esquema JBehave

Page 18: BDD JBehave

MavenMaven

<dependency> <groupId>org.jbehave</groupId> <artifactId>jbehave-maven-plugin</artifactId> <version>2.3.1</version></dependency>

Page 19: BDD JBehave

A Classe PrincipalA Classe Principal

Page 20: BDD JBehave

StepsSteps

Page 21: BDD JBehave

StepsSteps

Page 22: BDD JBehave

A Classe PrincipalA Classe Principal

Page 23: BDD JBehave

ResultadoResultado

Page 24: BDD JBehave

VantagensVantagensTotalmente desenvolvido em Java, o que facilita a integração com outros projetos da mesma plataforma;

Os usuários podem especificar e executar as Estórias de usuário baseadas em arquivo texto;

Anotações (@annotations) que conectam os textos da estória do usuário com os parâmetros dos métodos;

Além do console, os resultados dos testes podem ser vistos ainda nos formatos: HTML, TXT e XML. Mas isto requer uma configuração específica que pode ser encontrada na documentação do framework;

Controle de todas as etapas (métodos) dos cenários pendentes para que não fiquem sem ser implementadas;

Localização das Estórias através de palavras chaves, podendo assim, serem escritas em qualquer idioma (exceto Given, When e Then);

Integração com as principais IDEs, entre elas: Eclipse e NetBeans;Execução com ANT e Maven.

Page 25: BDD JBehave

Links e Referências

http://jbehave.org/Site oficial do framework JBehave.

http://codificando.com/2009/04/jbehave-brasil-bdd-em-java-no-nosso-idioma/Macedo, Emerson. Criando extensão do JBehave.

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

Page 26: BDD JBehave

Obrigado!Obrigado!