plugin coverage maven maven-3 cobertura

plugin - coverage java maven



¿Cuál es la forma correcta de usar Cobertura con Maven 3.0.2? (3)

En Maven 3.0.3 (no se ha publicado aún cuando hizo la pregunta), simplemente use el complemento del sitio de Maven y configúrelo de manera que use cobertura, de la siguiente manera:

<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-site-plugin</artifactId> <version>3.0</version> <configuration> <reportPlugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.5.1</version> <configuration> <formats> <format>html</format> <format>xml</format> </formats> </configuration> </plugin> </reportPlugins> </configuration> </plugin> ....

Durante los últimos días he intentado sin éxito ejecutar Cobertura 2.4 con Maven 3.0.2. Tenemos un proyecto muy grande con muchos módulos (subproyectos). Lo que encontré es que la documentación es básicamente inexistente o simplemente errónea. Todos los tutoriales que encontré no funcionan con Maven 3.x (se compilan, pero Cobertura no se ejecuta o no puede generar los informes).

¿Alguien aquí ha sido capaz de hacer que funcione? ¿Algún consejo / ejemplo útil? Gracias.


Integré exitosamente Cobertura en mis proyectos agregando esto:

<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> <configuration> <instrumentation> <includes> <include>foo/bar/**/*.class</include> </includes> </instrumentation> </configuration> <executions> <execution> <id>clean</id> <phase>pre-site</phase> <goals> <goal>clean</goal> </goals> </execution> <execution> <id>instrument</id> <phase>site</phase> <goals> <goal>instrument</goal> <goal>cobertura</goal> </goals> </execution> </executions> </plugin> </plugins> </build> <reporting> <plugins> <plugin> <!-- use mvn cobertura:cobertura to generate cobertura reports --> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.4</version> <configuration> <formats> <format>html</format> <format>xml</format> </formats> </configuration> </plugin> </plugins> </reporting>

Si ejecuta mvn cobertura:cobertura los informes se generarán en target/site/cobertura . Véase también el complemento de cobertura de maven .

Hoy SonarQube proyectos con SonarQube . Tiene un paso de installation fácil (si no está interesado en usar una base de datos empresarial) y también incluye un análisis de cobertura de código (utilizando JaCoCo ) entre muchas otras métricas.


También puede integrar el complemento Cobertura en la sección <reporting> de su aplicación web:

<reporting> <outputDirectory>${project.build.directory}/site</outputDirectory> <plugins> <!-- Maven Project Info Reports Plugin --> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-project-info-reports-plugin</artifactId> <version>2.7</version> <configuration> <dependencyLocationsEnabled>false</dependencyLocationsEnabled> </configuration> </plugin> <!-- Cobertura Code Coverage Plugin --> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>cobertura-maven-plugin</artifactId> <version>2.6</version> <configuration> <instrumentation> <ignoreTrivial>true</ignoreTrivial> </instrumentation> <formats> <format>html</format> <format>xml</format> </formats> </configuration> </plugin> </plugins> </reporting>

Si ejecuta mvn site , su informe estará disponible en target/site/cobertura/index.html dentro del directorio de destino de su aplicación.