2010-01-05 96 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

相关问题