Closed marvinsiq closed 11 years ago
Isso continua ocorrendo no BETA7 ? Se sim, manda o Stacktrace
Acredito que consegui reproduzir o problema. Não estávamos limpando o contexto do DBehave, dai a exceção ficava presa para todos os testes. O commit https://github.com/demoiselle/behave/commit/d35fcfd9bfb9db76e556603f0fce67a9d7014d4d resolve. Geramos uma snapshot, atualize seu projeto com a 1.2.0-SNAPSHOT Favor confirmar se o problema sumiu para fechamos a Issue
Sim, isso está acontecendo no BETA 7 e o erro persiste mesmo após o seu commit (atualizei novamente para o SNAPSHOT inclusive limpei o repositório.)
O log abaixo é de um teste que passou mas que o maven aponta como erro. Repare que neste teste nem tem o passo que ele aponta que falhou (Então será exibido "Acesso Restrito") Este passo é de outro teste.
br.gov.mp.siconv.bdd.ConvenioTest.testConsultarConvenio Referência cíclica entre cenários: [Então será exibido "⦅Acesso Restrito⦆"]. Verifique suas história para evitar referências cíclicas. Stacktrace java.lang.AssertionError: Referência cíclica entre cenários: [Então será exibido "⦅Acesso Restrito⦆"]. Verifique suas história para evitar referências cíclicas. at org.junit.Assert.fail(Assert.java:91) at br.gov.frameworkdemoiselle.behave.controller.BehaveContext.run(BehaveContext.java:126) at br.gov.mp.siconv.bdd.ConvenioTest.testConsultarConvenio(ConvenioTest.java:25) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76) at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50) at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193) at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42) at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184) at org.junit.runners.ParentRunner.run(ParentRunner.java:236) at org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:140) at org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:127) at org.apache.maven.surefire.Surefire.run(Surefire.java:177) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:345) at org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:1009) Saída Padrão (BeforeStories) Funcionalidade: Consultar Convênio Para consultar os dados de um convênio Como um membro de um proponente apto a consultar convênios Desejo pesquisar/selecionar/consultar um convênio (stories/consultar_convenio.storyConverted) Scenario: Um usuário convenente efetua login no SICONV e seleciona um convênio Carregando dados iniciais no banco de dados siconv_trunk Dado que existe o usuário do tipo convenente, com login "32194447849", cadastrado no proponente "19876424000142" com perfil "CADASTRADOR_PRESTACAO_CONTAS" E existe o convênio "900300/2010" associado ao proponente "19876424000142" Dado que vou para a tela "Tela de Login" Quando informo "32194447849" no campo "CPF" E informo "123" no campo "Senha" Quando clico em "OK" Então estou na tela "Mostra Principal" Quando acesso o menu "Execução" e clico no item de menu "Consultar Convênios/Pré-Convênios" Então estou na tela "Consultar Convênios/Pré-Convênios" Quando informo "900300/2010" no campo "Número do Convênio/Pré-Convênio" E clico em "Consultar" Então estou na tela "Resultado da Consulta de Convênio"
Repare que agora a mensagem de erro é que existe referência cíclica mas isso não acontece. Veja os steps
Funcionalidade: Consultar Convênio Para consultar os dados de um convênio Como um membro de um proponente apto a consultar convênios Desejo pesquisar/selecionar/consultar um convênio Cenário: Um usuário convenente efetua login no SICONV e seleciona um convênio Dado que existe o usuário do tipo convenente, com login "32194447849", cadastrado no proponente "19876424000142" com perfil "CADASTRADOR_PRESTACAO_CONTAS" E existe o convênio "900300/2010" associado ao proponente "19876424000142" Acesso ao Sistema com usuário "32194447849" e senha "123" Quando acesso o menu "Execução" e clico no item de menu "Consultar Convênios/Pré-Convênios" Então estou na tela "Consultar Convênios/Pré-Convênios" Quando informo "900300/2010" no campo "Número do Convênio/Pré-Convênio" E clico em "Consultar" Então estou na tela "Resultado da Consulta de Convênio"
Funcionalidade: Login Como um: usuário cadastrado Eu quero: acessar o Siconv De modo que: eu tenha acesso às funcionalidades associadas ao meu perfil Cenário: Acesso ao Sistema com usuário "{usuário}" e senha "{senha}" Dado que vou para a tela "Tela de Login" Quando informo "{usuário}" no campo "CPF" E informo "{senha}" no campo "Senha" Quando clico em "OK" Então estou na tela "Mostra Principal"
Esta mensagem de "Referência cíclica entre cenários" foi um erro que corrigimos nesta última snapshot. Confirme se a linha 132 da classe BehaveContext.java tem: "fail = null;" e na linha 126: "Assert.fail(bm.getString("exception-fail-step", step, fail.getMessage()));"
Não teve como conferir o código pois estou rodando de um servidor de integração contínua. Mas limpei novamente o repositório maven e executei diversas vezes os testes e parece que agora está funcionando tudo OK. Pode fechar a issue.
Pessoal, no BETA4 havia um bug que fazia com que o maven desse sucesso de execução mesmo com passos quebrados. O Bug foi corrigido mas acredito que agora existe outro. Meu projeto possui 5 classes de testes da qual 2 estão quebradas. Ao executar o mvn test (ou seja todos os testes serão executados), no final da execução o maven informou que os 5 testes estavam quebrados. Quando fui ver o Stacktrace de uma das classes que eu sei que passou, o erro informado era de outra classe. Não sei se fui claro na explicação, se precisar eu posto os logs.