Dans la série, j'essaye d' intégrer tout et n'importe quoi ensemble.... J'ai un projet java ee sous BEA Weblogic. Ce dernier est JAVA EE 5. Il y a tout ce qu'il existe de plus chatoyant : ejb3, jsf, jpa. Pour ce dernier, le provider par défaut est kodo (bon la c'est moins drôle). Bien évidemment, j'ai plus ou moins réussi à maveniser le tout. Pour la réalisation du site, voici le problème:

Cobertura instrumente via un agent les classes après compilation. Kodo essaye à l'exécution d'instrumenter ces mêmes classes. ---> fatal error.

Voila la manipulation que j'ai réalisé avec l'aide du modérateur de la section java de developpez.com

Exclusion des pojo à l'instrumentation de cobertura

Comme d'habitude, il faut savoir lire la documentation ....


<project>
  ...
  <build>
    ...
    <plugins>
      ...
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <configuration>
          <instrumentation>
            <ignores>
              <ignore>com.example.boringcode.*</ignore>
            </ignores>
            <excludes>
              <exclude>com/example/couchejpa/**/*.class</exclude>
              <exclude>com/example/**/*Test.class</exclude>
            </excludes>
          </instrumentation>
        </configuration>
        <executions>
          <execution>
            <goals>
              <goal>clean</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Passage de l'agent openjpa/kodo a surefire

 <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <configuration>
          <forkMode>pertest</forkMode>
          <argLine>-javaagent:D:/kodo-4.1.2/lib/openjpa.jar</argLine>
        </configuration>
      </plugin>

Après vous pourrez vérifier la couverture de tests dans les couches session ( EJB3 SESSION STATELESS et STATEFUL )