2010-01-05 28 views
21

En mi proyecto, necesito crear un informe Cobertura de Cobertura del Código de Hudson utilizando maven build.
En Hudson he agregado el complemento Cobertura de código Cobertura.
Necesito los pasos completos de modificación de pom.xml.Cómo generar el Informe de Cobertura del Código Cobertura usando Maven de Hudson

+0

¡Tenga cuidado con la incompatibilidad de Java 7! Una posible [solución se muestra aquí] [1]. [1]: http://stackoverflow.com/questions/7010665/testng-emma-cobertura-coverage-and-jdk-7-result-in-classformaterror-and-verif/9583305#9583305 – user1050755

Respuesta

30

¿Intentó agregar esto a su pom.xml en la sección reporting?

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

Pasos completos de configuración se pueden encontrar here.

+0

He agregado la configuración en la sección "Ejecutar cobertura solo desde Hudson usando perfiles" disponible en "http://wiki.hudson-ci.org/display/HUDSON/Cobertura+Plugin" en mi pom.xml También se ha agregado la configuración bajo la etiqueta 'informes' de cobertura-maven-plugin de Pero durante la ejecución de la acumulación de Hudson - me estoy haciendo la siguiente excepción Saltarse cobertura informe de cobertura como construcción no era inestable o mejor ... Acabado: FALLO He configurado el complemento "Publicar informe de cobertura Cobertura" en Hudson ¿Me faltan pasos durante la configuración? – stackoverflowsk

+1

revisa tus registros, debe mostrar algunos mensajes de error. también ejecutando mvn site cobertura: cobertura en un checkout local podría ayudar. También como una nota, para mí, bastaba con ejecutar "cobertura: cobertura" como objetivo, no se necesitaban cambios de pom (posiblemente porque un pom de nivel superior ya lo incluía ...) – rogerdpack

7

Para ejecutar Cobertura durante la fase de paquete, hacer

<plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>2.5.2</version> 
      <configuration> 
       <formats> 
        <format>xml</format> 
       </formats> 
      </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>cobertura</goal> 
        </goals> 
       </execution> 
      </executions> 
    </plugin>   

Aquí está un ejemplo de pom

http://macgyverdev.blogspot.com/2011/04/development-environment-for-google-app.html

Y aquí cómo integrar en Hudson http://macgyverdev.blogspot.com/2011/04/hudson-continous-integration-for-google.html

1

Cobertura no lo hace en realidad parece funcionar con Hudson.

Tengo un proyecto en el que la ejecución de la línea de comandos: mvn paquete limpio

construye un informe de cobertura genera un informe de cobertura precisa con un rendimiento medio de línea de aproximadamente el 78% y el 74% rama.

Al ejecutar los mismos objetivos en un servidor Hudson, se obtiene un informe de cobertura que muestra 0% 0%.

Desafortunadamente, el sitio de Jira para el complemento no parece permitir que nadie publique problemas por lo que este problema aún no se ha notificado al equipo.

20

Hudson necesita que usted genere el archivo coverage.xml. Para hacer esto sin cambiar su pom.xml, puede usar:

mvn cobertura:cobertura -Dcobertura.report.format=xml 
+1

En mi sistema no se respeta la sección '' del complemento. Sin embargo, funciona cuando especifico el parámetro '-Dcobertura.report.format' en la línea de objetivos. Thx amcknight – matthaeus

+0

¡Excelente respuesta! gracias –

+0

¿Hay alguna manera de generar informes de Cobertura sobre el comando 'mvn clean install' en lugar de' mvn cobertura: cobertura', cuando cambié 'executions'-' phase' como 'test' y' goal' como 'cobertura', funciona, pero está ejecutando casos de prueba dos veces, ¿alguna idea al respecto? –

Cuestiones relacionadas