2012-02-22 14 views
38

Sto provando a generare un coverage.xml in modo che possa farvi riferimento nel plugin Cobertura di Hudson, ma il file non viene creato.Il plug-in Maven Cobertura non genera coverage.xml

Ho aggiunto il seguente al mio 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> 

Dopo aver eseguito mvn cobertura: Cobertura, il sito HTML viene generato come previsto a ** \ obiettivo \ sito \ cobertura, ma coverage.xml è da nessuna parte essere trovato. Cosa mi manca/incomprensione?

Sono in esecuzione Maven 3.0.3

risposta

6

Sono ancora abbastanza un novizio con le connessioni tra Maven Plugin e Hudson ed è plug-in - quindi questa non è una risposta intelligente con qualsiasi mezzo, ma aiuto su Google è molto poco e molto distanziato per questo problema - quindi spero che aiuti qualcuno in futuro.

Dopo aver trascorso qualche ora in più ad armeggiare con le impostazioni, ho scoperto che il coverage.xml semplicemente non sembra essere creato localmente.

Questa è la combinazione che ha ottenuto che funziona:

  1. avevo cambiato la mia versione a 2,2 nel mio POM (mi è stato sempre gli errori di risorse non trovato da Apache con il 2.5.1)
  2. Aggiunto cobertura : Cobertura nel mio obiettivo Hudson
  3. Impostare la copertura modello Cobertura al raccomandata **/target/site/cobertura/coverage.xml
26

ho messo il plugin nella sezione di generazione e funziona:

<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 sezione di reporting e le sue differenze alla sezione plug-in sono descritti here. Non so se questo è un problema di maven [3.0.4] o di cobertura-plugin.

26

Aggiungere di seguito le linee alla vostra applicazione Obiettivi: (configurare sezione dell'applicazione in Jenkins)

cobertura:cobertura -Dcobertura.report.format=xml 

modifiche 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

Nota che, anche se la configurazione pom specifica sia '' html' e xml', l'argomento della riga di comando ignora che, istruendo il plugin per generare solo 'xml'. –

+1

Grazie per l'argomento -D –

0

Ho lo stesso problema utilizzando 2.6 del plugin.

Ho scoperto che quando si specificano entrambi i tipi, ho solo html.

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

Ma quando si specifica solo xml, ottengo un report xml.

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

Questo è probabilmente un bug nel plug-in.

Un altro utente ha suggerito di creare due esecuzioni. L'ho provato senza successo (cioè ho ottenuto html, ma non xml).

0

aggiornare il file POM come

<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> 

Questo ha funzionato per me: motivo Probabile che contanis l'ultima versione di cobertura-maven-plugin (2,7)

0

L'sono due modi integrare Cobertura in Maven.

  1. Put Cobertura nella accumulo sezione del file pom, allora si deve eseguire mvn cobertura pulita: Cobertura per generare i report. Se hai configurato XML e HTML, ottieni entrambi i report.
  2. Inserisci Cobertura nella sezione del file pom , quindi è necessario eseguire mvn clean site per generare i report. Se hai configurato XML e HTML, ottieni entrambi i report. Inoltre ottieni un sito generato (open target/site/index.html) con tutti i report integrati ad es. Coberture, Checkstyle, ...
1

Ho avuto lo stesso problema, ma è risolto in questo momento: Basta aggiungere -Dcobertura.report.format=xml dopo il vostro comando Maven. Dovrebbe funzionare

1

Il mio obiettivo era far funzionare Cobertura a du mvn test senza ulteriori parametri da riga di comando. Ecco l'XML magico che ha fatto il trucco per me, con HTML e XML generati in /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> 
Problemi correlati