由于我是Junit 5的新手,并且我读到它们现在在Junit 5中是分开的,所以我需要附加什么?
我正在查看Maven存储库,发现对junit 5有很多依赖关系,我不知道在Junit 5中运行Junit 4测试应包含哪些内容,而对于Junit 5而言,单独还有什么呢?
我还没有代码,但只需要依赖项就可以了解我 需要下载
surefire对所有这些还有什么作用?
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.0.0-M4</version>
</dependency>
更新-因此,surefire用于搜索缺少的依赖项, 有什么用?
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-launcher</artifactId>
<version>1.4.0-M1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-runner</artifactId>
<version>1.4.0-M1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-suite-api</artifactId>
<version>1.4.0-M1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.3.2</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
<version>5.4.0-M1</version>
<scope>test</scope>
</dependency>
答案 0 :(得分:0)
问题:surefire对所有这些有何作用?
如果在POM.xml中没有很好地提及您的依赖项,那么Surefire将检测要使用的JUnit版本。
Surefire支持3种不同的JUnit版本: JUnit 3.8.x , JUnit 4.x (串行提供程序)和 JUnit 4.7 (junit)并行支持的核心提供商)
算法的工作原理如下:
(2,2,)
if the JUnit 5 Platform Engine is present in the project
use junit-platform
if the JUnit version in the project >= 4.7 and the <<<parallel>>> configuration parameter has ANY value
use junit47 provider
if JUnit >= 4.0 is present
use junit4 provider
else
use junit3.8.1