2011-05-18 88 views
11

我想生成並查看Java-Maven項目的覆蓋率報告。如何使用Cobertura Maven插件查看HTML覆蓋率報告?

我已經添加了以下到pom.xml

<reporting> 
    <plugins> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>cobertura-maven-plugin</artifactId> 
     <version>2.2</version> 
     <configuration> 
     <formats> 
      <format>html</format> 
     </formats> 
     </configuration> 
    </plugin> 
    </plugins> 
</reporting> 

當我運行mvn cobertura:cobertura它成功地和報告建立到Cobertura Report generation was successful,但我無法找到該報告控制檯。

如果我將cd轉換爲target/cobertura我找到一個名爲cobertura.ser的文件,但我不知道如何處理它。

編輯:在重新檢查文檔之後,感謝Andreas_D,我添加了<reporting>標記,但獲得了相同的結果。

+0

使用jacoco,它比要好得多cobertura http://technikes.com/how-to-generate-code-coverage-report-in-java-jacoco-graphical-report/您還可以獲得3種格式的報告,即HTML,CSV和XML – 2017-06-03 13:51:23

+0

@sakshamagarwal嗯,我問這個問題是2011年,備案。在2017年,我很感謝不要處理Java/Maven/XML廢話。 – 2017-06-05 12:21:11

+0

可能會幫助其他開發者。希望將來能解決你的任何錯誤。謝謝 – 2017-06-07 15:32:35

回答

7

看看插件的文檔,there's an example。很確定您必須添加一個<reporting>元素才能真正生成報告。

+0

好,但我仍然得到相同的結果。我已經更新了這個問題。 – 2011-05-18 14:03:57

+1

@FarmBoy - 你需要在''部分(執行cobertura)和''部分添加cobertura插件(創建報告,你可能需要添加'site'目標('mvn cobertura :cobertura site')實際構建(html)站點 – 2011-05-18 14:11:47

+0

嗯,'site'目標創建了一個依賴性問題,它找不到'org.apache.maven.doxia:doxia-core:jar:1.0-alpha- 11'。我們的倉庫中有'alpha-10'。爲什麼它在尋找這個? – 2011-05-18 15:22:52

19

這在Build部分:

<build> 
    ... 
    <plugins> 
     ...  
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>2.5.2</version> 
     </plugin> 
     ... 
    </plugins> 
    ... 
</build> 

然後在這個報告部分:

<reporting> 
    ... 
    <plugins> 
     ... 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>cobertura-maven-plugin</artifactId> 
      <version>2.5.2</version> 
      <configuration> 
       <check></check> 
       <formats> 
        <format>html</format> 
        <format>xml</format> 
       </formats> 
      </configuration> 
     </plugin> 
     ... 
    </plugins> 
    ... 
</reporting> 

執行mvn cobertura:cobertura

然後尋找的index.html目標內/ site/cobertura/文件夾。

+0

希望這可以幫助某人。我沒有重新回顧這個老問題。 – 2013-02-21 11:30:16

+0

我認爲應該包裝在元素中。如果是這樣,建議答案被修改,因爲它不起作用 – 2013-08-28 16:36:00

+0

是的peter.murray.rust,你是對的,我的印象是開發人員不會複製粘貼整個事情,但將必要的代碼放在正確的位置。調整了答案。 – AStyle1 2013-09-20 06:19:13

-1

實在不行 - 試試這個 http://technikes.com/how-to-generate-code-coverage-report-in-java-jacoco-graphical-report/您可以在HTML和XML格式獲取代碼覆蓋率報告

這是驚人的,因爲我發佈在HTML和XML我的報告

+0

對於我來說,這個問題對於重現問題來說已經很老了,所以我不會對新答案進行投票。 – 2017-06-05 12:22:41

+1

但這個答案不是爲了增加我的投票。可能會幫助其他開發者。希望在將來解決您的任何錯誤。謝謝 – 2017-06-07 15:31:52

+0

這個答案實際上並沒有解決關於cobertura的問題,它提供了一種方法來處理另一個插件。 – rodmunera 2017-06-09 14:06:41

相關問題