2017-07-25 50 views
-1

我的項目使用兩個其他庫作爲Maven依賴項添加到它。當我使用命令提示符爲項目生成覆蓋率報告時,它會生成jacoco.exec文件,我可以使用它來查看IDE中的覆蓋率報告。如何使用JaCoCo或任何其他工具生成覆蓋Java項目中Maven依賴關係的報告?

但它並沒有給我覆蓋範圍使用的依賴。我在Eclipse插件JaCoCo它提供了配置的覆蓋範圍和選擇特定的罐子機會在項目中使用已經看到

被列入覆蓋報告。

我怎樣才能在命令行的情況下,相同的基於執行力?

回答

0

我的項目使用兩個其他庫作爲maven依賴項添加到它。

如果這些庫是相同的Maven構建的其他模塊,那麼請看看JaCoCo Maven插件的report-aggregate goal

我曾在JaCoCo的eclipse插件中看到過,它有機會配置覆蓋範圍並選擇項目中使用的特定jar包含在覆蓋報告中。但是如何在基於命令行的執行情況下做到這一點?

在JaCoCo 0.7.9有JaCoCo Ant Tasks,並且在0.8.0會有JaCoCo Command Line Interface - 無論在什麼應該被納入報表規範提供了更多的自由比JaCoCo Maven插件,特別是可用於任意(例如第三方)JAR文件。可以使用maven-antrun-plugin從Maven構建內部執行Ant任務。

並且有JaCoCo APIsexamples(特別是ReportGenerator.java)可用於構建您自己的報告生成器,其他集成。你所提到的基於JaCoCo的Eclipse插件 - 是Eclipse EclEmma。它正是將這些API用於集成到Eclipse IDE中。

0

使用Codehaus的插件更好的結果產生類明智的覆蓋報告。你可以生成HTML以及XML報告。

<project> 
    ... 
    <reporting> 
    <plugins> 
     ... 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <configuration> 
      <formats> 
      <format>html</format> 
      <format>xml</format> 
      </formats> 
     </configuration> 
     </plugin> 
    </plugins> 
    </reporting> 
</project> 
0
<plugin> 
    <groupId>org.jacoco</groupId> 
    <artifactId>jacoco-maven-plugin</artifactId> 
    <version>0.5.5.201112152213</version> 
    <configuration> 
    <destFile>${basedir}/target/coverage-reports/jacoco-unit.exec</destFile> 
    <dataFile>${basedir}/target/coverage-reports/jacoco-unit.exec</dataFile> 
    </configuration> 
    <executions> 
    <execution> 
     <excludes> 
      <exclude>**/*Config.*</exclude> 
      <exclude>**/*Dev.*</exclude> 
    </excludes> 
    </execution> 
    <execution> 
     <id>jacoco-site</id> 
     <phase>package</phase> 
     <goals> 
      <goal>report</goal> 
     </goals> 
    </execution> 
    </executions> 
</plugin> 

您也可以提供標記爲排除代碼覆蓋類和類似的標記用於包括類

相關問題