2012-02-22 14 views
38

Estoy intentando generar un coverage.xml para poder hacer referencia a él en el plugin Cobertura de Hudson, pero el archivo no se está creando.El plugin de Maven Cobertura no genera coverage.xml

He añadido lo siguiente a mi POM

<reporting> 
    <plugins> 
     <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> 
    </plugins> 
</reporting> 

Después de ejecutar mvn Cobertura: Cobertura, el sitio HTML se genera como se esperaba en ** \ con \ sitio \ Cobertura, pero no es en absoluto coverage.xml para ser encontrado. ¿Qué estoy perdiendo/malentendiendo?

Me postulo Maven 3.0.3

Respuesta

6

estoy todavía un novato con las conexiones entre Maven y Hudson plugins y es plugins - así que esto no es una respuesta inteligente por cualquier medio, pero la ayuda de Google Es muy poco lo que hay para este problema, así que espero que ayude a alguien en el futuro.

Después de pasar unas cuantas horas más jugando con las configuraciones, he descubierto que el coverage.xml simplemente no parece estar construido localmente.

Esta es la combinación que tengo trabajo:

  1. había cambiado de versión a 2,2 en mi POM (que estaba recibiendo recursos que no se encuentran errores de Apache con 2.5.1)
  2. Agregado Cobertura : cobertura en mi objetivo Hudson
  3. Ajuste el patrón de cobertura cobertura a la recomendado **/target/site/cobertura/coverage.xml
26

puse el plugin en la sección de construcción y funciona:

<build> 
    <plugins> 
     <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> 
    </plugins> 
</build> 

La sección de informes y sus diferencias con respecto a la sección de plug-in se describen here. No sé si esto es un problema de maven [3.0.4] o de plugin de cobertura.

26

Añadir debajo de las líneas a sus objetivos de aplicación: (sección de la solicitud de Jenkins configurar)

cobertura:cobertura -Dcobertura.report.format=xml 

cambios pom.xml:

<reporting> 
<plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <version>2.6</version> 
     <configuration> 
      <formats> 
       <format>html</format> 
       <format>xml</format> 
      </formats> 
     </configuration> 
    </plugin> 
</plugins> 

+1

Tenga en cuenta que a pesar de que la configuración del pom especifica tanto '' html' y xml', el argumento de línea de comandos que anula, instruyendo al plugin para generar solamente 'xml'. –

+1

Gracias por el argumento -D –

0

tengo el mismo problema utilizando 2.6 del complemento.

Descubrí que cuando especifico ambos tipos, solo obtuve html.

  <formats> 
       <format>html</format> 
       <format>xml</format> 
      </formats> 

Pero cuando especifico solo xml, obtengo un informe xml.

  <formats> 
       <format>xml</format> 
      </formats> 

Esto es probablemente un error en el complemento.

Otro usuario sugirió crear dos ejecuciones. Intenté sin éxito (es decir, obtuve html, pero no xml).

0

actualizar el archivo de POM como

<build> 
<plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <version>2.7</version> 
     <configuration> 
      <formats> 
       <format>html</format> 
       <format>xml</format> 
      </formats> 
     </configuration> 
    </plugin> 
</plugins> 

Esto funcionó para mí: la razón probable de que contanis la versión más reciente de Cobertura-experto-plugin (2,7)

0

El dos formas para integrar Cobertura en Maven.

  1. Put Cobertura en el sección acumulación del fichero pom, entonces usted tiene que ejecutar mvn Cobertura limpia: Cobertura para generar los informes. Si tiene XML y HTML configurado, entonces obtiene ambos informes.
  2. Ponga Cobertura en la sección informes del archivo pom, luego debe ejecutar mvn sitio limpio para generar los informes. Si tiene XML y HTML configurado, entonces obtiene ambos informes. Además, obtienes un sitio generado (open target/site/index.html) con todos los informes integrados, p. Coberture, Checkstyle, ...
1

Yo tenía el mismo problema, pero que se resuelva en este momento: Sólo añadir -Dcobertura.report.format=xml después de su comando experto. Debería funcionar

1

Mi objetivo era hacer que Cobertura ejecutara el proceso mvn test sin parámetros de línea de comando adicionales. Aquí está el XML mágico que hizo el truco para mí, con el HTML y el XML que se generan en /target/site/cobertura.

<build> 
    <plugins> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>2.7</version> 
      <executions> 
       <execution> 
        <id>cobertura</id> 
        <phase>test</phase> 
        <goals> 
         <goal>cobertura</goal> 
        </goals> 
        <configuration> 
         <formats> 
          <format>xml</format> 
          <format>html</format> 
         </formats> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 
Cuestiones relacionadas