我正在尝试在我的项目中使用Cobertura。我有很多项目,有很多测试。作业完成后,coverage.xml文件仅包含已测试的最后一个组件的coverage信息。 这是我使用的pom.xml文件的摘录:
...
<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>
...
关于我的错误的任何想法?这是因为目标“干净”吗?
提前感谢您的回答......
多米尼克
答案 0 :(得分:2)
您的所有项目看起来都使用相同的<outputDirectory>
。显然,每次运行都将取代之前的项目运行,因此我们最终只得到最后一个项目的数据。
您可能希望让cobertura使用默认 outputDirectory
,看看它是否适合您。