2010-01-05 4 views
21

В моем проекте мне нужно создать отчет Cobackura Code Coverage от Hudson, используя maven build.
В Хадсоне я добавил плагин Cobertura Code Coverage.
Мне нужны полные этапы модификации pom.xml.Как генерировать отчет о покрытии кода Кобертуры с использованием Maven из Hudson

+0

Опасайтесь несовместимости Java 7! Возможное [решение показано здесь] [1]. [1]: http://stackoverflow.com/questions/7010665/testng-emma-cobertura-coverage-and-jdk-7-result-in-classformaterror-and-verif/9583305#9583305 – user1050755

ответ

30

Вы попытались добавить это в свой pom.xml в раздел reporting?

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

Полные этапы настройки можно найти here.

+0

Я добавил конфигурацию в разделе «Выполнить cobertura только из hudson используя профили», доступную по адресу «http://wiki.hudson-ci.org/display/HUDSON/Cobertura+Plugin» в моем pom.xml Также добавлена ​​конфигурация под 'report' tag для cobertura-maven-plugin Но при выполнении сборки из hudson - я получаю следующее исключение Пропуск отчета о покрытии Cobertura как сборка не был НЕ УСТАНАВЛИВАЕМЫЙ или лучше ... Закончено: FAILURE Я настроил плагин «Опубликовать отчет о покрытии Cobertura» в Hudson Я пропустил какие-либо шаги во время настройки? – stackoverflowsk

+1

проверьте свои журналы, он должен показать некоторые сообщения об отказах. также работает mvn-сайт cobertura: cobertura при местном контроле может помочь. Также, как записка, для меня, просто запуск «cobertura: cobertura» в качестве цели был достаточным, никаких изменений pom не было (возможно, потому что верхний уровень pom уже включил его ...) – rogerdpack

7

Для запуска Cobertura во время фазы упаковки, сделать

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

Heres пример ПОМ

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

И здесь, как интегрировать в Гудзоне http://macgyverdev.blogspot.com/2011/04/hudson-continous-integration-for-google.html

1

Cobertura не на самом деле, похоже, работает с hudson.

У меня есть проект, где исполняющий командная строка: МВНЫХ чистый пакет

создающий отчет покрытия создает точный отчет покрытия со средним охватом около 78% линии и 74% отрасли.

Выполнение тех же целей на сервере Hudson приводит к отчету о покрытии, показывающему 0% 0%.

К сожалению, сайт Jira для плагина, похоже, не позволяет кому-либо публиковать сообщения, поэтому этот вопрос пока не сообщается команде.

20

Hudson вам необходимо создать файл coverage.xml. Для этого без изменения pom.xml вы можете использовать:

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

В моей системе раздел '' плагина не соблюдается. Однако он работает, когда я указываю указанный выше параметр -Dcobertura.report.format' в строке целей. Thx amknight – matthaeus

+0

Отличный ответ! спасибо –

+0

Есть ли способ генерировать отчеты Cobertura в команде 'mvn clean install' вместо' mvn cobertura: cobertura', Когда я изменил 'executions'-' phase' как 'test' и' goal' как 'cobertura', он работает, но он запускает тестовые примеры дважды, любая идея по этому поводу? –

Смежные вопросы