2017-08-11 34 views
1

我在行家項目中使用JUnit 3和4很長一段時間而不maven-surefire-plugin爲什麼在Maven項目中使用JUnit 5時必須使用maven-surefire-plugin?

目前,我開始使用標註從JUnit的木星包org.junit.jupiter.api嘗試的JUnit 5。特別是org.junit.jupiter.api.Test是用來代替傳統org.junit.Test。最終,沒有檢測到測試,因此測試失敗。

maven-surefire-plugin已被添加到pom.xml這樣: ```

<dependencies> 
    <dependency> 
     <groupId>org.junit.jupiter</groupId> 
     <artifactId>junit-jupiter-engine</artifactId> 
     <version>${junit.jupiter.version}</version> 
    </dependency> 
</dependencies> 

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-surefire-plugin</artifactId> 
     <version>2.19.1</version> 
     <dependencies> 
       <dependency> 
        <groupId>org.junit.platform</groupId> 
        <artifactId>junit-platform-surefire-provider</artifactId> 
        <version>${junit.platform.version}</version> 
       </dependency> 
     </dependencies> 
    </plugin> 
    </plugins> 
</build> 

所以,在此我想問一下:

  • 爲什麼它強制使用maven-surefire-plugin與JUnit5但不是JUnit4或JUnit3?
  • 是有解決方法使用JUnit 5不maven-surefire-plugin

這是我的習慣,以使代碼儘可能簡單

+0

我的假設是你使用了maven-surefire-plugin,但沒有明確定義它......現在你已經明確地定義了它......除此之外,maven-surefire-plugin中的include配置並不是必需的,因爲它是默認的。 ..currently在Maven的萬無一失,插件JUnit5的支持還沒有結束.... – khmarbaise

+0

@khmarbaise感謝您對默認的配置評論uration :)我在你的評論的基礎上嘗試刪除'configuration'元素,它仍然有效。所以關鍵是'maven-surefire-plugin'中的'dependencies' – Rui

+0

@khmarbaise但是我還是想等待得到更全面的答案:) – Rui

回答

相關問題