Maven 2 + testes unitários com POJOS

Alguém faz testes unitários com POJOS (Hibernate) no Maven 2?

Gostaria de trocar algumas idéias.

Grato.

Eu faço. O que você quer conversar?

[]'s

Rodrigo Auler

Olá Rodrigo,

algumas perguntas:

  • qual versão do Maven vc está usando? Estou usando a 2.0.6, mas tenho encontrado alguns problemas e estou pensando em utilizar a do trunk. Mais exatamente esse problema… http://jira.codehaus.org/browse/SUREFIRE-300

  • vc usa JUnit? Qual versão? Estou tentando usar o JUnit 4.1 somente com o EntityManager do Hibernate.

  • vc consegue fazer testes com classes de outros pacotes. Por exemplo: POJO1 do projeto a ser testado extende POJO2 do projeto COMMOM.

Grato.

[quote=Taz] Estou usando a 2.0.6, mas tenho encontrado alguns problemas e estou pensando em utilizar a do trunk. Mais exatamente esse problema… http://jira.codehaus.org/browse/SUREFIRE-300
[/quote]

Na realidade o problema é em um plugin do Maven (Surefire) e ele deve ser atualizado…

[quote=Taz]
Alguém faz testes unitários com POJOS (Hibernate) no Maven 2?

Gostaria de trocar algumas idéias.

Grato.[/quote]

Pq este post (deveria ser o primeiro) aparece na posição incorreta? Algum moderador poderia corrigir o problema?

Grato.

Nunca tive esse problema, mas vc leu isso e conferiu no seu projeto?
“This appears to happen if you do not have a dependency on junit declared in your project.”

Uso o 3.8.1.

Sim… desde que esse outro pacote esteja declarado como dependência no pom do projeto.

[]'s

Rodrigo Auler

Olá Rodrigo,

defini o outro pacote como dependência, mas não funcionou.

<dependency> <groupId>com.xpto</groupId> <artifactId>ProjetoDoPojo2</artifactId> <version>1.0-SNAPSHOT</version> <scope>compile</scope> </dependency>

Tenho a impressão que o Maven não considera as classes que estão em target/classes pq quando movo as classes do ProjetoDoPojo1 e ProjetoDoPojo2 para target/test-classes funciona normalmente.

Grato.

Vc usa o plugin do Maven para Hibernate?

Não. Nem sabia que existia plugin do maven pra hibernate, e agora nem consigo imaginar a utilidade disso.

Que erro exatamente você está recebendo? Posta o seu POM aí pra ver se acho alguma coisa.

[]'s

Rodrigo Auler

Eu tomo um org.hibernate.MappingException: Unknown entity: com.xpto.empresa.model.Empresa

Segue a log do EntityManager:

13:58:52,796 INFO Version:15 - Hibernate EntityManager 3.2.1.GA
13:58:52,828 INFO Version:15 - Hibernate Annotations 3.2.1.GA
13:58:52,843 INFO Environment:509 - Hibernate 3.2.3
13:58:52,859 INFO Environment:542 - hibernate.properties not found
13:58:52,859 INFO Environment:676 - Bytecode provider name : cglib
13:58:52,875 INFO Environment:593 - using JDK 1.4 java.sql.Timestamp handling
13:58:53,015 DEBUG Ejb3Configuration:199 - Look up for persistence unit: empire
13:58:53,093 DEBUG DTDEntityResolver:38 - trying to resolve system-id [http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd]
13:58:53,093 DEBUG EJB3DTDEntityResolver:49 - recognized EJB3 ORM namespace; attempting to resolve on classpath under org/hibernate/ejb
13:58:53,093 DEBUG EJB3DTDEntityResolver:58 - located [http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd] in classpath
13:58:53,171 DEBUG Ejb3Configuration:544 - Detect class: true; detect hbm: false
13:58:53,187 DEBUG JarVisitor:206 - Searching mapped entities in jar/par: file:/C:/workspace/empire/EmpresaEJB/target/test-classes
13:58:53,187 DEBUG JarVisitor:246 - Filtering: com.xpto.EmpresaTest
13:58:53,234 DEBUG Ejb3Configuration:544 - Detect class: true; detect hbm: false
13:58:53,234 DEBUG JarVisitor:206 - Searching mapped entities in jar/par: file:Agenda-1.0-SNAPSHOT.jar
13:58:53,234 WARN ExplodedJarVisitor:38 - Exploded jar does not exists (ignored): file:Agenda-1.0-SNAPSHOT.jar

acho que vc esta se confundindo no uso do maven… pelo erro:

Exploded jar does not exists (ignored): file:Agenda-1.0-SNAPSHOT.jar

o projeto Agenda está vazio… talvez o seu projeto agenda não esteja de acordo com o formato esperado pelo maven (codigo fonte em src/main/java, arquivos em src/main/resoures, etc), caso em que vc deve configurar o pom do jeito que esta a estrutura de diretorios do seu projeto

consulte a documentacao (parca, eu sei) do maven para mais informações, especificamente a definição do pom

Resolvido,

era só colocar os jars no persistence.xml. :wink: