Framework JBee Behavior-driven development Lançado
18 respostas
euprogramador
Lançado o novo framework JBee para desenvolvimento orientado a comportamento, entre as features estão:
[list]Facilidade de desenvolvimento[/list]
[list]Facilidade na adaptação para a internacionalização[/list]
[list]Prover a documentação executável[/list]
Geralmente quem utiliza BDD desenvolve primeiro a interface, você pode fazer uso do JBee e do Selenium para esta tarefa, onde você teria o JBee desenvolvendo a “história” ou cenário e o selenium fazendo a parte do teste de interface.
peerless
Por quê eu usaria ele ao invés do JBehave, que já está consolidado ?
Felagund
Estou falando de interfaces desktops não web
euprogramador
Estou falando de interfaces desktops não web :)
Sim claro, se você for ver ele é um teste do junit, portanto pode sim testar a interface do usuário, basta escrever um teste correto para isso.
euprogramador
Antes de desenvolver o framework, testei o Jbehave, mas o mesmo me deixou muito achateado, visto que muitas coisas ne achei dificil, se você ver o código do framework, o mesmo é muito facil de ser adaptado.
Estou aberto a sugestões e melhorias.
peerless
Antes de desenvolver o framework, testei o Jbehave, mas o mesmo me deixou muito achateado, visto que muitas coisas ne achei dificil, se você ver o código do framework, o mesmo é muito facil de ser adaptado.
Estou aberto a sugestões e melhorias.
Apenas por curiosidade, o que tu achou difícil no JBehave?
euprogramador
Não gosto do fato de ter que estender classes do behave para criar os testes, achei também complicado dar suporte a outros idiomas, no JBee este suporte é fácil e feito atravês de anotações, facilitando muito.
Alem disso o JBee é um projeto brasileiro.
Teste ele, conforme dito, estou aberto a sugestões e melhorias.
lelodois
Não gosto do fato de ter que estender classes do behave para criar os testes, achei também complicado dar suporte a outros idiomas, no JBee este suporte é fácil e feito atravês de anotações, facilitando muito.
Alem disso o JBee é um projeto brasileiro.
Teste ele, conforme dito, estou aberto a sugestões e melhorias.
Se é um projeto brasileiro porque está tudo em inglês?
Felagund
Não gosto do fato de ter que estender classes do behave para criar os testes, achei também complicado dar suporte a outros idiomas, no JBee este suporte é fácil e feito atravês de anotações, facilitando muito.
Alem disso o JBee é um projeto brasileiro.
Teste ele, conforme dito, estou aberto a sugestões e melhorias.
Se é um projeto brasileiro porque está tudo em inglês?
Para chegar em mercados maiores que o nosso, muito simples isso.
euprogramador
Não gosto do fato de ter que estender classes do behave para criar os testes, achei também complicado dar suporte a outros idiomas, no JBee este suporte é fácil e feito atravês de anotações, facilitando muito.
Alem disso o JBee é um projeto brasileiro.
Teste ele, conforme dito, estou aberto a sugestões e melhorias.
Se é um projeto brasileiro porque está tudo em inglês?
Para chegar em mercados maiores que o nosso, muito simples isso.
É exatamente por isso que está em inglês, mas ele é tão simples e tem suporte para histórias em português.
lelodois
Não gosto do fato de ter que estender classes do behave para criar os testes, achei também complicado dar suporte a outros idiomas, no JBee este suporte é fácil e feito atravês de anotações, facilitando muito.
Alem disso o JBee é um projeto brasileiro.
Teste ele, conforme dito, estou aberto a sugestões e melhorias.
Se é um projeto brasileiro porque está tudo em inglês?
Para chegar em mercados maiores que o nosso, muito simples isso.
Está certo, de qualquer forma irei testar, parabéns a equipe pela iniciativa!
diegosantiviago
A galera gosta de encher o saco hein?
Parabéns pela iniciativa!
Ahhh se o pessoal parasse um pouco de reclamar por besteiras e ajudasse mais …
T
thiagoramos23
Muito bom o seu framework! Gostei muito.
Ja utilizo o JBehave em projetos pessoais e na minha empresa trabalhamos com TDD e estou querendo introduzir BDD na equipe.
Embora possa ser um processo árduo vejo que para a gerencia da empresa seria melhor ter testes onde eles pudessem entender e ver melhor o que se está testando.
Esse eu projeto conseguiu ser ainda mais simples do que o jBehave. Embora ainda não o tenha testado em casos reais.
Gostei da iniciativa. Parabéns
M
mochuara
@RunWith(JBeeRunner.class)@History(value="registryClient.history")publicclassTestRegistryClient{@Step("Given I'm on-screen list of clients")publicvoidenterScreenListForClients(){//codeyourtest}@Step("When you fill in the name of #{name} and save")publicvoidfillNameAndSave(Stringname){//noteispossiblepassingparametersAssert.assertEquals("Carlos Alberto",name);}@Step("Then the system displays the new client in the client list")publicvoidtestIsDiplayClientInList(){//codeyourtest}@Step("When you fill the information without the name and try to save")publicvoidfillInformationNoNameAndTrySave(){//codeyourtest}@Step(Thenthesystemdisplaysanerrormessage") public void verifyIsDiplayMessage(){ //code your test } @Step("WhenIselecttheclientandchoosedelete") public void selectClientAndDelete(){ //code your test } @Step("Thentheclientisdeleted")publicvoidtestClientIsDeleted(){//codeyourtest}}
Voce esperam que um não-programador entenda isso?
euprogramador
O desenvolvimento é guiado pela história, o teste do Junit é apenas para ligar a história com o teste, o foco do framework é a simplicidade, é mas simples adicionar uma anotação e criar o arquivo de testes do que criar uma classe que extende scenario para criar os passos e posteriormente configurar de acordo com a história, o teste é uma classe comum, e você não adiciona nenhum comportado indesejado, que é o problema que temos com a herança.
O que sugeriria para melhorar o framework?
Norxs
E a integração com o Maven? … seria só adicionar a dependência dele que já saira funcionando ou teria que adiconar algum plugin?
peerless
mochuara:
@RunWith(JBeeRunner.class)@History(value="registryClient.history")publicclassTestRegistryClient{@Step("Given I'm on-screen list of clients")publicvoidenterScreenListForClients(){//codeyourtest}@Step("When you fill in the name of #{name} and save")publicvoidfillNameAndSave(Stringname){//noteispossiblepassingparametersAssert.assertEquals("Carlos Alberto",name);}@Step("Then the system displays the new client in the client list")publicvoidtestIsDiplayClientInList(){//codeyourtest}@Step("When you fill the information without the name and try to save")publicvoidfillInformationNoNameAndTrySave(){//codeyourtest}@Step(Thenthesystemdisplaysanerrormessage") public void verifyIsDiplayMessage(){ //code your test } @Step("WhenIselecttheclientandchoosedelete") public void selectClientAndDelete(){ //code your test } @Step("Thentheclientisdeleted")publicvoidtestClientIsDeleted(){//codeyourtest}}
Voce esperam que um não-programador entenda isso?
Teoricamente o "não programador" não deve e nem precisa entender isso. Ele deveria entender apenas o arquivo que contém a história, neste caso o "hegistryClient.history"
Em tempo, não estou defendendo o framework, pois acredito que antes de criar um framework, poderia ter pensando em contribuir com um já existente, que trata exatamente do mesmo assunto e -quase- da mesma forma (porem, um pouco mais avançado e com mais funcionalidades) que é o JBehave.