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.
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.
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!
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.
[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
}
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.
[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.