2017-09-25 46 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>