Плагин Maven Cobertura не генерирует покрытие.xml

Я пытаюсь создать файл 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 ответов

Решение

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

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

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

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

Добавьте следующие строки в ваше приложение Цели:(настройка раздела приложения в 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>

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

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

Моя цель состояла в том, чтобы заставить Кобертуру управлять 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>

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

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

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

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

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

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

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

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

Обновите файл 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>

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

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

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