2017-08-11 413 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

回答

相关问题