-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Histórias remotas #197
Comments
@estivalet, para entendermos melhor a motivação e relevância da proposta cologo algumas questões que poderão amadurecer a ideia. Quais os benefícios de ser ter um repositório remoto? Espero que os demais membros possam se envolver na questão para chegarmos a uma proposta viável de ser absorvida ou não pelo framework. |
@botelhojp, na verdade estou usando o dbehave para fazer carga de dados e por isso não precisaria manter um controle de versão das histórias. O benefício que eu vejo é que qualquer pessoa pode mudar o arquivo de história com os dados a serem carregados sem precisar ter o conhecimento do framework ou de como escrever uma história. |
Também pode ser útil para aquelas pessoas que apenas escrevem histórias. Assim essas pessoas não precisam ter um projeto eclipse. No Serpro imagino que no futuro as histórias sejam escritas diretamente na ALM e apenas referenciadas no projeto, mas seria bom ter mais liberdade de poder ler as histórias de outros lugares (pasta compartilhada na rede, servidor, banco de dados, etc). Aqui tem até um exemplo de ler histórias do github: http://mkolisnyk.blogspot.com.br/2013/05/java-jbehave-integration-with-github.html |
@botelhojp, já usei este recurso no RecPlay. As histórias são lidas de uma wiki, alteradas por pessoas envolvidas no projeto. Mas tem um porém, o mapeamento das telas ainda se dar usando o Page Object ou Page Map. Então se a historia mudar tal que não precise alterar o mapeamento das telas, é bem produtivo as histórias estarem fora do projeto (ocorreu em algumas sprints não iniciais). |
Só precisa mudar o JBehaveParser para permitir carregar histórias a partir de URL. |
O ideal que no futuro (muito distante) que até o mapeamento dos objetos fosse representado em outra forma, de uma maneira que ao navegar pela aplicação qualquer pessoa envolvida no projeto ligaria os componentes da tela a história. |
Só ficaria no projeto, passos específicos e/ou suítes. O restante tudo remoto. |
Não estou muito familiarizado com a parte do framework que faz a leitura dos histórias, mas acho que teria que alterar também o BehaveContext.java Então podemos adicionar esse recurso no framework? @rogernobre Você acha que consegue fazer a implementação semelhante ao do RecPlay? |
@estivalet, avalie possibilidade do seguinte experimento: Na sua classe JUnit, antes de chamar o BehaveContext, baixe as histórias remotas para o classpath do projeto. Elas serão executadas normalmente como histórias locais. Seria uma alternativa provisória que se bem sucedida pode ser incorporada sem que haja grandes mudanças estruturais no framework. O que acha? |
Teria de mudar o BehaveContext também para aceitar URL no lugar dos caminho dos arquivos das historias. |
Mas diferente do RecPlay, aqui todas as historias seriam convertidas e na verdade seria "rodadas localmente" (uma cópia da historia remota). |
@rogernobre, isso seria num próximo passo. |
@estivalet , você avançou no assunto? |
Não, infelizmente não estou com tempo disponível para mexer no framework. Como tinha pressa para resolver meu problema, acabei fazendo uma solução paralela ao framework para fazer carga de dados usando Ruby e Selenium. De qualquer forma acho que seria interessante termos esse recurso. |
Descobri que eu tenho uma necessidade bem específica de poder executar histórias armazenadas remotamente.
http://jbehave.org/reference/stable/running-stories.html (ver seção Running Remote Stories)
Poderíamos incorporar isso ao framework. Tinha pensado em colocar propriedades no behave.properties (mais ou menos assim...)
behave.parser.remoteStories = true
behave.parser.remoteStoriesURL = http://jbehave.org/reference/examples/stories/
Não cheguei a avaliar o quanto teria que mudar no código fonte...
The text was updated successfully, but these errors were encountered: