Comecei a fazer uns testes com o JBehave e, logo de cara, não gostei muito do formato das specs de texto nos exemplos do site oficial e tentei algumas customizações, algo no estilo do cucumber.
Dado que os arquivos texto não foram receptivos a customizações, alguém sabe responder se é possível inserir texto que seja ignorado pelo processador das specs de texto do JBehave, algum indicador de comentário ou algo do tipo?
[IMHO] Cara, acho que se você comparar qualquer coisa Java com Ruby no quesito “especificação executável” será uma covardia, excetuando-se pelo FITNesse.
Tenho certeza disso! Mas o que eu queria é relativamente simples, apenas ter as specs em plain text com cara de histórias. As entradas do JBehave - salvo mal-entendido de minha parte - são apenas um amontoado de given-when-thens, não dá pra separar nem intitular cenários, e o output dela junta tudo em um amontoado só. Daí a minha dúvida se haveria como inserir comentários, pois já que a ferramenta exige specs em plain text, que pelo menos elas fossem um pouco mais úteis com a possibilidade de separar e intitular os cenários, inserir declarações “As a” , “I want” e “So that”, etc. Até onde eu compreendi, o texto só serve pra entrar com os parâmetros para os steps.
Na verdade eu achei o JBehave conceitualmente estranho. Pode ser falta de entendimento meu sobre BDD em geral ou do JBehave em específico, mas foi a impressão que ficou.
Rodrigo, já que você está desenvolvendo com o Jbehave, aproveita e dá uma olhada na lib que desenvolvi para escrever as specs em Português (pt_BR) e recentemente internacionalidado. Talvez seja legal pra você desenvolver as specs usando nosso idioma.
Obrigado pela dica, Emerson. Realmente é ótimo poder ter os cenários em português. E é bom também porque vou ter que mexer com o Buildr, o que venho adiando há algum tempo.
Rodrigo, eu abandonei o JBehave [eu gosto dele] + Selenium pelo Cucumber+Selenium nos projetos em Java. Hoje tento manter todos os projetos com Cucumber para BDD.
Vi outros frameworks e achei até interessante, mas por enquanto o “pepino” está resolvendo todos os “pepinos”