2010-11-11 209 views
4

所以我有問題在我的Maven項目中使用Intellij運行所有測試。原因是因爲少數模塊依賴於加載的dll中的Native方法。由於這個DLL不能被加載多次,我不得不在我的Maven POM文件中添加一個子句,這些測試將以分叉模式運行。Intellij/Maven單元測試運行問題

但是,在Intellij中,我無法弄清楚如何使這些相同的測試運行爲分叉模式。我想利用Intellij漂亮的用戶界面進行單元測試,並使用綠色欄和漂亮的UT界面,但是由於這個問題,我無法在我的項目中運行所有測試。

有沒有人遇到與Maven,Intellij和Unit測試有關的問題,以及關於如何讓它們在一起玩的很好的提示?

這裏是我的pom.xml文件的一個片段:

<plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <configuration> 
       <skip>true</skip> 
      </configuration> 
      <executions> 
       <execution> 
        <id>allTests</id> 
        <goals> 
         <goal>test</goal> 
        </goals> 
        <configuration> 
         <skip>false</skip> 
         <excludes> 
          <exclude>**/pkgA/**/*Test.java</exclude> 
         </excludes> 
        </configuration> 
       </execution> 
       <execution> 
        <id>forkedTests</id> 
        <goals> 
         <goal>test</goal> 
        </goals> 
        <configuration> 
         <skip>false</skip> 
         <forkMode>pertest</forkMode> 
         <includes> 
          <include>**/pkgA/**/*Test.java</include> 
         </includes> 
         <excludes> 
          <exclude>**/SpecificTest.java</exclude> 
          <exclude>**/*PerformanceTest.java</exclude> 
         </excludes> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 

回答

0

然而,在我的IntelliJ無法弄清楚如何使運行的分叉模式的相同的測試。

我不認爲IntelliJ允許調整其test runner的行爲。

有沒有人遇到過有關Maven,Intellij和Unit測試的問題以及關於如何讓它們在一起玩的很好的提示?

一些想法/建議:

  • 使用Maven來運行所有測試,即使在的IntelliJ〜或者〜
  • 使用一些測試程序,做的DLL初始化和引用所有的TestCase,其中當然不再加載DLL。
0

在IntelliJ 14中,您有分叉模式選項運行配置對話框。 當您在班級/套件中運行所有測試時,可以啓用forkMode =方法,該方法應該等於您的maven的pertest