Плагин Maven Cobertura не генерирует покрытие .xml - PullRequest
39 голосов
/ 22 февраля 2012

Я пытаюсь создать файл cover.xml, чтобы я мог ссылаться на него в плагине Cobertura для Hudson, но файл не создается.

Я добавил следующее в свой 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>

После запуска mvn cobertura: cobertura, HTML-сайт генерируется, как и ожидалось, в папке ** \ target \ site \ cobertura, но охват.xml нигде не найден. Что я упускаю / недоразумение?

Я использую Maven 3.0.3

Ответы [ 8 ]

27 голосов
/ 05 июня 2014

Добавьте следующие строки в ваше приложение Цели: (настроить раздел приложения в jenkins)

cobertura:cobertura -Dcobertura.report.format=xml

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>

27 голосов
/ 23 февраля 2012

Я поставил плагин в разделе сборки, и он работает:

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

Раздел отчетов и его отличия от раздела плагинов описаны здесь . Я не знаю, это проблема maven [3.0.4] или cobertura-plugin.

7 голосов
/ 23 февраля 2012

Я до сих пор довольно новичок в отношении связей между Maven Plugins и Hudson и его плагинами - так что это ни в коем случае не разумный ответ, но справка в Google очень мала и далека от этой проблемы - так что, надеюсь, это поможет кому-то в будущем.

Потратив еще несколько часов на настройку параметров, я обнаружил, что cover.xml просто не создается локально.

Вот комбинация, которая заставила его работать:

  1. Я изменил свою версию на 2.2 в моем POM (я получал ресурс не найдены ошибки от Apache с 2.5.1)
  2. Добавлена ​​cobertura: cobertura в моем голе Гудзона
  3. Установите схему покрытия Cobertura на рекомендуется ** / target / site / cobertura / coating.xml
2 голосов
/ 12 февраля 2017

Моя цель состояла в том, чтобы заставить Cobertura запустить duing mvn test без дополнительных параметров командной строки.Вот волшебный XML, который помог мне, и HTML, и XML генерируются в /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>
1 голос
/ 01 декабря 2016

У меня была та же проблема, но она решена прямо сейчас: просто добавьте -Dcobertura.report.format=xml после вашей команды maven.Должно работать

0 голосов
/ 16 ноября 2016

Это два способа интеграции Cobertura в Maven.

  1. Поместите Cobertura в раздел build файла pom, затем вам нужно выполнить mvn clean cobertura: cobertura для генерации отчетов.Если у вас настроены XML и HTML, вы получите оба отчета.
  2. Поместите Cobertura в раздел report файла pom, тогда вам нужно выполнить mvn clean site для генерации отчетов.Если у вас настроены XML и HTML, вы получите оба отчета.Кроме того, вы получаете сгенерированный сайт (open target / site / index.html) со всеми интегрированными отчетами, например, Coberture, Checkstyle, ...
0 голосов
/ 15 апреля 2016

Обновите ваш файл POM как

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

Это сработало для меня: вероятная причина, по которой это contanis - последняя версия cobertura-maven-plugin (2.7)

0 голосов
/ 07 февраля 2015

У меня та же проблема с использованием 2.6 плагина.

Я обнаружил, что когда я указываю оба типа, я получаю только html.

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

Но когда я указываю только xml, я получаю отчет xml.

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

Вероятно, это ошибка в плагине.

Другой пользователь предложил создать два исполнения. Я попытался это безуспешно (то есть я получил HTML, но не XML).

...