Ir para o conteúdo

 Voltar a Jaguar - Des...
Tela cheia

Classe Test com JUnit utilizando JPA

27 de Setembro de 2012, 14:23 , por Desconhecido - | Ninguém seguindo este artigo por enquanto.
Visualizado 233 vezes

Estou tentado criar classe de teste para testar mapeamentos,  

crie uma classe extendendo TestCase uma executar com o JUnit dá o erro abaixo:

JCDI: Tentando localizar BeanManager em java:comp/env/BeanManager

JCDI: Ops, BeanManager nao localizado em java:comp/env/BeanManager

JCDI: Tentando localizar BeanManager em java:comp/BeanManager

JCDI: Ops, BeanManager nao localizado em java:comp/BeanManager

JCDI: Não é possível usar JCDI. BeanManager nao localizado em nenhum destes caminhos JNDI: [Ljava.lang.String;@b2a2d8


No Jcompany 3.3 fazia estendendo a “PlcBaseHibernateDAOTestCase” para acessar a persistência(Hibernate) 

e testar o mapeamento, como/ou que deve realizar no Jaguar para poder testar com o Junit os mapeamentos (JPA)?

Autor: Jean carlos Schappo


77 comentários

  • C5abf0c5ff718707aa3f684bf5dc9908?only path=false&size=50&d=404Bruno Carneiro(usuário não autenticado)
    27 de Setembro de 2012, 15:15

     

    Olá Jean,

    O seu problema acontece porque no seu teste unitário não existe um container CDI criado.

    Para executar testes unitários no Jaguar, você deve utilizar o Arquillian, que é uma plataforma de testes que disponibiliza tais containers seu o uso de mocks.

    www.​jbos​s.or​g/ar​quil​lian​.htm​l

    É bem simples e existem algumas classes no jCompany que podem te fornercer um reuso do Arquillian para a criação de novos testes unitários.

    Abraços.

    • 08f9f10f12e3e5f8e75e1b5f517b9815?only path=false&size=50&d=404Juan Carlos Ramires(usuário não autenticado)
      1 de Outubro de 2012, 14:42

       

      Boa tarde, Bruno.

      Estava com o mesmo problema que o Jean, criei um maven project para testar o Arquillian e funcionou, mas quando fui replicar dentro de um projeto no Jaguar me aparece o seguinte erro.

      java.lang.NoClassDefFoundError: javax/ejb/Singleton
          at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.Ejbs.findEjbs(Ejbs.java:38)
          at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.Ejbs.createEjbDescriptors(Ejbs.java:25)
          at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.BeanDeploymentArchiveImpl.<init>(BeanDeploymentArchiveImpl.java:82)
          at org.jboss.arquillian.container.weld.ee.embedded_1_1.mock.TestContainer.<init>(TestContainer.java:213)
          at org.jboss.arquillian.container.weld.ee.embedded_1_1.WeldEEMockContainer.deploy(WeldEEMockContainer.java:66)
          at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:62)
          at org.jboss.arquillian.impl.handler.ContainerDeployer.callback(ContainerDeployer.java:50)
          at org.jboss.arquillian.impl.event.MapEventManager.fire(MapEventManager.java:63)
          at org.jboss.arquillian.impl.context.AbstractEventContext.fire(AbstractEventContext.java:115)
          at org.jboss.arquillian.impl.EventTestRunnerAdaptor.beforeClass(EventTestRunnerAdaptor.java:99)
          at org.jboss.arquillian.junit.Arquillian$2.evaluate(Arquillian.java:165)
          at org.jboss.arquillian.junit.Arquillian$3$1.evaluate(Arquillian.java:189)
          at org.jboss.arquillian.junit.Arquillian$MultiStatementExecutor.execute(Arquillian.java:300)
          at org.jboss.arquillian.junit.Arquillian$3.evaluate(Arquillian.java:185)
          at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
          at org.jboss.arquillian.junit.Arquillian.run(Arquillian.java:128)
          at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
          at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
          at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
      Caused by: java.lang.ClassNotFoundException: javax.ejb.Singleton
          at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
          at java.security.AccessController.doPrivileged(Native Method)
          at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
          at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
          at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
          at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

      • C5abf0c5ff718707aa3f684bf5dc9908?only path=false&size=50&d=404Bruno Carneiro(usuário não autenticado)
        1 de Outubro de 2012, 15:03

         

        Olá Juan,

        seria interessante você postar seu código aqui.

        De qualquer forma, o erro acontece porque você não adicionou essa classe dentro do pacote 'jar'.

        Para ajudar nos testes Arquillian com o Jaguar dê uma olhada na classe AbstractArquillianTestCase que está no jcompany_model.

        Se você não estiver utilizando EJB, isso me parece ser um bug do Arquillian. Você colocou alguma dependência do Arquillian no seu projeto? Por padrão o Jaguar já traz essa dependência (homologada) nas aplicações, então você não precisa de declará-la.

      • 08f9f10f12e3e5f8e75e1b5f517b9815?only path=false&size=50&d=404Juan Carlos Ramires(usuário não autenticado)
        1 de Outubro de 2012, 14:51

         

        Conteúdo vazio.

Lançamento do Jaguar 6.1 eminente...

6 de Maio de 2012, 8:13, por Desconhecido

O Jaguar 6.1 traz um grande leque de inovações dentre eles os exclusivos Jaguar Extensions, que possibilitam que plugins de arquitetura sejam criados com elegância através de técnicas de OCP (Open/Closed Principle). Este mecanimo possibilita que as implementações hiper-produtivas para Padrões de Caso de Uso de alto nível do Jaguar sejam expandidas através de componentes que encapsulam novos padrões, tanto para a parte OO (framework) quanto de geração de código complementar!



Evento Jaguar em Brasília, no dia19/10

3 de Outubro de 2011, 9:34, por Desconhecido

Quem estiver em Brasília no dia 19/10 não deixe de investir uma manhã neste evento, que é bem prático (mão na massa para desenvolver uma aplicação "do zero" com Java EE 6 / Jaguar) e traz insights importantes sobre tendências para a próxima década (BPMN 2.0, CMIS, Web Mobile com HTML5, etc.), implementados via Jaguar Extensions.



Ibrowse lança ferramenta de migração dos aplicativos desenvolvidos em Oracle Forms/Reports para o ambiente Jaguar

19 de Agosto de 2011, 16:37, por Desconhecido

A ferramenta lançada é o Telescope for Jaguar na modalidade SaaS, que visa a automação no processo de migração dos aplicativos desenvolvidos em Oracle Forms/Reports para o ambiente Java EE 6 na arquitetura Jaguar, que é uma das soluções do Portal do Software Publico.



Treinamento Jaguar em Brasília

27 de Julho de 2011, 14:47, por Desconhecido

Autor: Anna Carolina Duarte



A Ibrowse em parceria com a Universidade Luterana do Brasil (ULBRA) realiza o 1º curso de extensão em Jaguar

11 de Julho de 2011, 15:35, por Desconhecido

Autor: Justino Paulo