demoiselle / behave

Demoiselle Behave
https://www.frameworkdemoiselle.gov.br/dbehave/
29 stars 53 forks source link

Problema ao executar mais de uma história #429

Closed RenatoEller closed 8 years ago

RenatoEller commented 8 years ago

Boa tarde pessoal, ao executar as histórias separadamente, elas funcionam. Quando executo mais de uma, as histórias personalizadas não funcionam. Aparece no log que estão "pendentes". Alguma sugestão?

juliancesar commented 8 years ago

Qual versão do DBehave esta usando?

De uma olhada na documentação sobre o assunto: http://demoiselle.sourceforge.net/docs/components/behave/reference/lastversion/html/behave-story.html#d0e1624

Caso não consiga avançar reabra a issue.

RenatoEller commented 8 years ago

1.5.1 mandou o link correto? não vi nada referente ao assunto.

juliancesar commented 8 years ago

Mandei.

Estou supondo que você não utilizou os métodos eng.addStories("/stories/XXXX.story"); e eng.addStoriesReuse("/stories/XXXXXX.story");.

Você esta usando os métodos?

RenatoEller commented 8 years ago

Sim, estou usando. Adiciono todas as classes que contem os passos:

public PcadBatchTest() { eng.addSteps(new ArquivoPassos1()); eng.addSteps(new ArquivoPassos2()); ... ... eng.addSteps(new ArquivoPassosN()); }

depois no testAllStories:

eng.run("/stories/Arquivo1.story"); eng.run("/stories/Arquivo2.story"); ... ... eng.run("/stories/ArquivoN.story");

se eu comentar as linhas do Arquivo2.story pra baixo, funciona perfeitamente. O erro acontece quando executo todas as histórias na mesma execução.

juliancesar commented 8 years ago

No testAllStories a cada chamada do método run ele limpa TODAS as histórias no final, por isso ele não encontra as outras.

É necessário usar os métodos eng.addStoriesReuse e eng.addStories como esta na documentação.

RenatoEller commented 8 years ago

ok. eu estava usando: eng.run("/stories/Arquivo1.story"); eng.run("/stories/Arquivo2.story");

quando deveria usar: eng.addStories("/stories/Arquivo1.story"); eng.addStories("/stories/Arquivo2.story"); eng.run();

Obrigado.