2014-01-10 66 views
3

我已經集成在我的項目中jacoco - Maven的插件,基於這個優秀的指南:http://www.petrikainulainen.net/programming/maven/creating-code-coverage-reports-for-unit-and-integration-tests-with-the-jacoco-maven-plugin/Maven站點插件不包括Jacoco報告

的jacoco插件運行正常。但是,maven-site-plugin不包含網站中的jacoco報告。更具體地說:'項目報告'部分沒有列出jacoco報告。 jacoco報告本身在target/site/jacoco-ut和target/site/jacoco-it目錄中可用。

這就是我所做的(沒有成功到目前爲止)。

首先,在我的pom.xml的構建部分中包含jacoco-maven-plugin作爲插件,如上面引用的指南中所述。我正在使用jacoco版本0.6.4.201312101107。

<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>${jacoco.plugin.version}</version> 
    <executions> 
    <!-- scissors... --> 
    <!-- report goal is bound to the pre-site phase --> 
    </executions> 
</plugin> 

其次,包括在我的pom.xml的報告部分jacoco - Maven的插件:沒有成功。

<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>${jacoco.plugin.version}</version> 
</plugin> 

第三,試圖將reportsets節中的報告部分添加到jacoco - Maven的插件:沒有成功。

<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>${jacoco.plugin.version}</version> 
    <reportSets> 
    <reportSet> 
     <reports> 
     <report>report</report> 
     </reports> 
    </reportSet> 
    </reportSets> 
</plugin> 

誰能幫我做了Maven的網站插件參考在該網站的「項目報告」部分通過jacoco生成的覆蓋報告?

回答

4

我發現jacoco是非常棘手的,下面的配置工作對我來說,我把它一起從博客 星星點點的性能

<jacoco.reportPath>${main.basedir}/target/jacoco.exec</jacoco.reportPath> 
    <jacoco.itReportPath>${main.basedir}/target/jacoco-it.exec</jacoco.itReportPath> 

構建內部

<plugin> 
       <groupId>org.jacoco</groupId> 
       <artifactId>jacoco-maven-plugin</artifactId> 
       <version>0.6.4.201312101107</version> 
       <executions> 
        <execution> 
         <id>pre-unit-test</id> 
         <goals> 
          <goal>prepare-agent</goal> 
         </goals> 
         <configuration> 
          <destFile>${sonar.jacoco.reportPath}</destFile> 
          <propertyName>utCoverageAgent</propertyName> 
         </configuration> 
        </execution> 
        <execution> 
         <id>post-unit-test</id> 
         <phase>test</phase> 
         <goals> 
          <goal>report</goal> 
         </goals> 
         <configuration> 
          <dataFile>${sonar.jacoco.reportPath}</dataFile> 
         </configuration> 
        </execution> 
        <!-- prepare agent for measuring integration tests --> 
        <execution> 
         <id>agent</id> 
         <phase>pre-integration-test</phase> 
         <goals> 
          <goal>prepare-agent</goal> 
         </goals> 
         <configuration> 
          <destFile>${sonar.jacoco.itReportPath}</destFile> 
          <propertyName>itCoverageAgent</propertyName> 
         </configuration> 
        </execution> 
        <execution> 
         <id>jacoco-site</id> 
         <phase>post-integration-test</phase> 
         <goals> 
          <goal>report</goal> 
         </goals> 
         <configuration> 
          <dataFile>${sonar.jacoco.itReportPath}</dataFile> 
         </configuration> 
        </execution> 
       </executions> 
      </plugin> 

     <!-- Reporting plugins --> 
     <plugin> 
      <artifactId>maven-site-plugin</artifactId> 
      <version>${plugin.site.version}</version> 
      <configuration> 
       <attach>true</attach> 
       <reportPlugins> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-changelog-plugin</artifactId> 
         <version>2.2</version> 
         <configuration> 
          <type>range</type> 
          <range>1</range> 
          <!--<displayFileDetailUrl>${project.scm.url}/tree/master/%FILE%</displayFileDetailUrl>--> 
          <headingDateFormat>MM-dd-yyyy</headingDateFormat> 
          <outputEncoding>${project.reporting.outputEncoding}</outputEncoding> 

         </configuration> 
         <reports> 
          <report>changelog</report> 
         </reports> 
        </plugin> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-project-info-reports-plugin</artifactId> 
         <version>2.7</version> 
         <configuration> 
          <dependencyDetailsEnabled>false</dependencyDetailsEnabled> 
          <dependencyLocationsEnabled>false</dependencyLocationsEnabled> 
         </configuration> 
         <!-- simpler configuration without reportSets available for usual cases --> 
         <!-- distribution-management, index, dependencies, help, issue-tracking, plugins, cim, 
         license, dependency-management, mailing-list, project-team, dependency-convergence, 
         scm, plugin-management, modules, summary --> 
         <reports> 
          <report>index</report> 
          <report>dependencies</report> 
          <report>issue-tracking</report> 
          <report>scm</report> 
          <report>summary</report> 
         </reports> 
        </plugin> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-jxr-plugin</artifactId> 
         <version>2.4</version> 
         <configuration> 
          <aggregate>true</aggregate> 
         </configuration> 
        </plugin> 
        <plugin> 
         <groupId>org.apache.maven.plugins</groupId> 
         <artifactId>maven-javadoc-plugin</artifactId> 
         <version>2.9.1</version> 
          <reports> 
           <report>javadoc</report> 
           <report>aggregate</report> 
          </reports> 
         <configuration> 
          <failOnError>false</failOnError> 
         </configuration> 
        </plugin> 

        <plugin> 
         <groupId>org.jacoco</groupId> 
         <artifactId>jacoco-maven-plugin</artifactId> 
         <version>0.6.4.201312101107</version> 
        </plugin> 

       </reportPlugins> 
      </configuration> 
      <executions> 
       <execution> 
        <id>attach-descriptor</id> 
        <goals> 
         <goal>attach-descriptor</goal> 
        </goals> 
       </execution> 
      </executions> 
     </plugin> 

希望有所幫助!

+0

從mvn 3.0.4開始,你不能再使用maven-site-plugin的configuration-> reportPlugins標籤了。 http://maven.apache.org/plugins/maven-site-plugin/maven-3.html#Configuration_formats – Adam