如何使用Hudson的Maven生成Cobertura代码覆盖率报告

时间:2010-01-05 12:40:53

标签: maven hudson cobertura

在我的项目中,我需要使用maven build从Hudson创建Cobertura代码覆盖率报告 在Hudson中,我添加了Cobertura Code Coverage插件 我需要pom.xml的完整修改步骤。

4 个答案:

答案 0 :(得分:31)

您是否尝试将其添加到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

答案 1 :(得分:22)

Hudson需要您生成coverage.xml文件。要在不更改pom.xml的情况下执行此操作,您可以使用:

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

答案 2 :(得分: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

答案 3 :(得分:1)

Cobertura实际上似乎与哈德森没有合作。

我有一个执行命令行的项目: mvn clean package

构建覆盖率报告,生成准确的覆盖率报告,平均覆盖率约为78%,分支为74%。

在Hudson服务器上运行相同的目标会导致覆盖率报告显示0%0%。

不幸的是,该插件的Jira网站似乎不允许任何人发布问题,因此该问题尚未向团队报告。