我们正在使用Maven,有时使用Tycho,我想将JUnit测试的结果放入生成的JAR中。
使用Maven,这很容易。我刚刚将以下内容添加到 pom.xml :
<resources>
<resource>
<directory>target/</directory>
<includes>
<include>surefire-reports/*.*</include>
</includes>
</resource>
</resources>
test
阶段在package
阶段之前,所以一切都很顺利。
然而,对于Tycho,测试在package
阶段之后执行(因为它们由于某种原因在verify
阶段执行)。阶段也不能改变(参见bug 440094)。
所以唯一的选择是在verify
阶段后构建另一个JAR:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<executions>
<execution>
<phase>post-integration-test</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>verification-doc</classifier>
<includes>
<include>**/surefire-reports/*.*</include>
</includes>
</configuration>
</execution>
</executions>
</plugin>
然而,它不起作用。文件夹和文件都没有添加。我的猜测是因为include
标记指向源文件夹,所以我尝试了:
<include>${project.build.outputDirectory}/../surefire-reports/*.*</include>
<include>${project.build.directory}/surefire-reports/*.*</include>
哪个也不起作用?
那么如何将JUnit测试结果添加到Tycho构建的JAR中呢?
答案 0 :(得分:0)
您可以像这样更改maven-bundle-plugin
的目录:
<configuration>
<classesDirectory>${project.build.directory}</classesDirectory>
<includes>
<include>surefire-reports/*</include>
</includes>
</configuration>