2011-11-18 116 views
1

我想在我的项目上使用Cobertura。我有很多项目,至少有很多测试。作业完成后,coverage.xml文件仅包含测试的最后一个组件的覆盖信息。 下面是我用的pom.xml文件的摘录:Jenkins - Cobertura配置

... 
<plugin> 
    <groupId>org.codehaus.mojo</groupId> 
    <artifactId>cobertura-maven-plugin</artifactId> 
    <version>2.3</version> 
    <configuration> 
     <formats> 
      <format>xml</format> 
     </formats> 
     <instrumentation> 
      <excludes> 
       <exclude>**/Test*.class</exclude> 
       <exclude>**/*SubProcessAction.class</exclude> 
       <exclude>**/*ScreenAction.class</exclude> 
       <exclude>**/*PagingAction.class</exclude> 
       <exclude>**/MapAction.class</exclude> 
       <exclude>**/*ProcessMap.class</exclude> 
       <exclude>**/*ProcessMap$*.class</exclude> 
       <exclude>**/*PAFAdapter.class</exclude> 
       <exclude>**/*ProcessHandler.class</exclude> 
       <exclude>**/*Error.class</exclude> 
       <exclude>**/*Config.class</exclude> 
       <exclude>**/*Dialog.class</exclude> 
       <exclude>**/html_internet/*.class</exclude> 
      </excludes> 
     </instrumentation> 
     <executions> 
      <execution> 
       <phase>package</phase> 
       <goals> 
        <goal>clean</goal> 
        <goal>cobertura</goal> 
       </goals> 
      </execution> 
     </executions> 
     <outputDirectory>${env.WORKSPACE}/${env.MAVEN_COBERTURA_REPORT_DIR}/</outputDirectory> 
    </configuration> 
</plugin> 
... 

对我的错误任何想法?这是由于“干净”的目标?

预先感谢您的回答...

多米尼克

回答

2

看起来你正在使用的所有项目一样<outputDirectory>。显然,每次运行都会取代之前的项目运行,因此我们只会得到最后一个项目的数据。

您可能想让cobertura使用默认outputDirectory并查看是否适合您。