2010-01-05 100 views
21

在我的項目中,我需要使用maven build來從Hudson創建Cobertura代碼覆蓋率報告。
在哈德遜我添加了Cobertura代碼覆蓋插件。
我需要pom.xml的完整修改步驟。如何使用Hudson的Maven生成Cobertura代碼覆蓋率報告

+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 2013-03-18 01:40:17

回答

30

您是否試圖將其添加到的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

我已經在我的pom.xml中的'http://wiki.hudson-ci.org/display/HUDSON/Cobertura+Plugin'上提供了'僅從使用配置文件的哈德森執行cobertura'部分下的配置。 還添加了配置下的配置'報告'標記爲cobertura-maven-plugin 但是,當執行從哈德森生成 - 我得到以下異常 跳過Cobertura覆蓋報告爲建設不是不穩定或更好...完成:失敗 我在Hudson配置了「發佈Cobertura覆蓋報告」插件 我在配置期間是否缺少任何步驟? – stackoverflowsk 2010-01-07 12:38:15

+1

檢查你的日誌,它應該顯示一些失敗的消息。也運行mvn網站cobertura:cobertura在本地結賬可能會有所幫助。另外值得注意的是,對我來說,只是將「cobertura:cobertura」作爲目標就足夠了,不需要改變pom(可能是因爲上層的pom已經包含了它......)) – rogerdpack 2010-12-31 00:07:22

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>   

繼承人POM的一個例子

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不實際上似乎與哈德森一起工作。

我有一個項目,其中執行所述命令行: MVN清潔套裝

構建一個覆蓋報告生成與大約78%的線和74%分支的平均覆蓋率的準確覆蓋報告。

在Hudson服務器上運行相同的目標會導致覆蓋率報告顯示0%0%。

不幸的是,該插件的Jira網站似乎不允許任何人發佈問題,所以這個問題還沒有向團隊報告。

20

哈德森需要您生成coverage.xml文件。要在不更改pom.xml的情況下執行此操作,可以使用:

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

在我的系統中,插件的''部分不受尊重。但是,當我在目標行中指定了上述'-Dcobertura.report.format'參數時,它工作正常。 Thx amcknight – matthaeus 2014-07-24 15:02:05

+0

很棒的回答!謝謝 – 2016-01-17 13:11:45

+0

有沒有什麼辦法可以在'mvn clean install'命令中生成Cobertura報告而不是'mvn cobertura:cobertura',當我將'execution'''' phase'作爲'test'和'goal'改成'cobertura'時,它的工作原理,但它運行兩次測試用例,對此有何想法? – 2017-09-07 13:12:02

相關問題