2017-09-25 62 views
0

我们使用Maven,有时是Tycho,我想将JUnit测试的结果放入生成的JAR中。如何将JUnit结果添加到Tycho构建的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

可以更改maven-bundle-plugin这样的目录:

<configuration> 
    <classesDirectory>${project.build.directory}</classesDirectory> 
    <includes> 
     <include>surefire-reports/*</include> 
    </includes> 
</configuration>