Framework JBee Behavior-driven development Lançado

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]

Acesse o site do projeto em:

http://sites.google.com/site/jbeetest/

Vou poder testar interfaces tbm com esse cara?

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.

Por quê eu usaria ele ao invés do JBehave, que já está consolidado ?

Estou falando de interfaces desktops não web :slight_smile:

Estou falando de interfaces desktops não web :)[/quote]

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.

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.

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.[/quote]

Apenas por curiosidade, o que tu achou difícil no JBehave?

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.

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.[/quote]

Se é um projeto brasileiro porque está tudo em inglês?

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.[/quote]

Se é um projeto brasileiro porque está tudo em inglês?[/quote]

Para chegar em mercados maiores que o nosso, muito simples isso.

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.[/quote]

Se é um projeto brasileiro porque está tudo em inglês?[/quote]

Para chegar em mercados maiores que o nosso, muito simples isso.[/quote]

É exatamente por isso que está em inglês, mas ele é tão simples e tem suporte para histórias em português.

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.[/quote]

Se é um projeto brasileiro porque está tudo em inglês?[/quote]

Para chegar em mercados maiores que o nosso, muito simples isso.[/quote]

Está certo, de qualquer forma irei testar, parabéns a equipe pela iniciativa!

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 …

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

[code]@RunWith(JBeeRunner.class)
@History(value=“registryClient.history”)
public class TestRegistryClient {

@Step("Given I'm on-screen list of clients")
public void enterScreenListForClients() {
    //code your test
}

@Step("When you fill in the name of  #{name} and save")
public void fillNameAndSave(String name) {
    //note is possible passing parameters
    Assert.assertEquals("Carlos Alberto", name);
}

@Step("Then the system displays the new client in the client list")
public void testIsDiplayClientInList() {
    //code your test
}

@Step("When you fill the information without the name and try to save")
public void fillInformationNoNameAndTrySave() {
    //code your test
}

@Step(Then the system displays an error message")
public void verifyIsDiplayMessage(){
    //code your test
}

@Step("When I select the client and choose delete")
public void selectClientAndDelete(){
    //code your test
}

@Step("Then the client is deleted")
public void testClientIsDeleted(){
    //code your test
}

}[/code]

Voce esperam que um não-programador entenda isso?

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?

E a integração com o Maven? … seria só adicionar a dependência dele que já saira funcionando ou teria que adiconar algum plugin?

[quote=mochuara][code]@RunWith(JBeeRunner.class)
@History(value=“registryClient.history”)
public class TestRegistryClient {

@Step("Given I'm on-screen list of clients")
public void enterScreenListForClients() {
    //code your test
}

@Step("When you fill in the name of  #{name} and save")
public void fillNameAndSave(String name) {
    //note is possible passing parameters
    Assert.assertEquals("Carlos Alberto", name);
}

@Step("Then the system displays the new client in the client list")
public void testIsDiplayClientInList() {
    //code your test
}

@Step("When you fill the information without the name and try to save")
public void fillInformationNoNameAndTrySave() {
    //code your test
}

@Step(Then the system displays an error message")
public void verifyIsDiplayMessage(){
    //code your test
}

@Step("When I select the client and choose delete")
public void selectClientAndDelete(){
    //code your test
}

@Step("Then the client is deleted")
public void testClientIsDeleted(){
    //code your test
}

}[/code]

Voce esperam que um não-programador entenda isso?[/quote]

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.

[]s