web-dev-qa-db-fra.com

Le plugin Maven Cobertura ne générant pas de couverture.xml

J'essaie de générer un fichier de couverture.xml afin de pouvoir le référencer dans le plugin Cobertura de Hudson, mais le fichier n'est pas en cours de création.

J'ai ajouté ce qui suit à mon 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>

Après avoir exécuté mvn cobertura: cobertura, le site HTML est généré comme prévu dans **\target\site\cobertura, mais le fichier coverage.xml est introuvable. Qu'est-ce qui me manque/incompris?

Je cours Maven 3.0.3

39
kjl

Les connexions entre Maven Plugins, Hudson et ses plugins sont encore novices. Ce n'est donc pas une réponse intelligente, mais l'aide sur Google est très rare pour ce problème. A l'avenir.

Après avoir passé quelques heures supplémentaires à bricoler les paramètres, j'ai constaté que le fichier coverage.xml ne semblait tout simplement pas être créé localement.

C'est la combinaison qui l'a fait fonctionner:

  1. J'avais changé ma version à 2.2 dans mon POM (j'obtenais une ressource Erreurs non trouvées d'Apache avec la version 2.5.1) 
  2. Ajouté cobertura: cobertura dans mon but Hudson
  3. Définissez le modèle de couverture Cobertura sur Recommandé **/target/site/cobertura/coverage.xml
6
kjl

Ajouter les lignes ci-dessous à votre application Objectifs: (configurez la section de l'application en Jenkins)

cobertura:cobertura -Dcobertura.report.format=xml

pom.xml change:

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

27
Sreedhar GS

Je mets le plugin dans la section build et ça marche:

<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 section de rapport et ses différences avec la section de plugin sont décrites ici . Je ne sais pas s'il s'agit d'un problème de type maven [3.0.4] ou cobertura-plugin.

27
FrVaBe

Mon objectif était d’exécuter Cobertura avec mvn test sans paramètres de ligne de commande supplémentaires. Voici le XML magique qui a fait le tour pour moi, avec le HTML et le XML générés dans /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>
2
bdkosher

J'avais le même problème, mais le problème est résolu: Ajoutez simplement -Dcobertura.report.format=xml après votre commande maven. Ça devrait marcher 

1
jenkins_user

Il existe deux façons d’intégrer Cobertura dans Maven. 

  1. Placez Cobertura dans la section build du fichier pom, puis exécutez mvn clean cobertura: cobertura pour générer les rapports. Si vous avez configuré XML et HTML, vous obtenez les deux rapports.
  2. Placez Cobertura dans la section reporting du fichier pom, puis vous devez exécuter mvn clean site pour générer les rapports. Si vous avez configuré XML et HTML, vous obtenez les deux rapports. De plus, vous obtenez un site généré (open target/site/index.html) avec tous les rapports intégrés, par exemple. Coberture, Checkstyle, ...
0
Mirko Ebert

Mettez à jour votre fichier POM en tant que

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

Cela a fonctionné pour moi: raison probable pour laquelle il contient la dernière version de cobertura-maven-plugin (2.7)

This worked out for me: Probable reason it contanis the latest version of cobertura-maven-plugin (2.7)

0
Jimmy

J'ai le même problème en utilisant 2.6 du plugin.

J'ai trouvé que lorsque je spécifie les deux types, je n'ai que du HTML.

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

Mais lorsque je spécifie uniquement xml, je reçois un rapport xml.

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

C'est probablement un bug dans le plugin.

Un autre utilisateur a suggéré de créer deux exécutions. J'ai essayé cela sans succès (ce qui signifie que j'ai le HTML, mais pas le XML).

0
Jeff Fairley