这是个双重问题。
junit-vintage-engine
和junit-jupiter-engine
之间有何区别?- SpringBoot启动器项目附带了
junit-vintage-engine
的排除项。这是为了强制使用junit-jupiter-engine吗?
下面是从Spring Initializr生成的SpringBoot项目的依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
字符串
3条答案
按热度按时间1cklez4t1#
junit-vintage-engine
用于运行JUnit 4测试;junit-jupiter-engine
用于运行JUnit 5测试。大概因为您将只为新的Sping Boot 项目编写JUnit 5测试,所以不需要vintage引擎,因此POM中默认的依赖项排除。
参考:
https://junit.org/junit5/docs/current/user-guide
h7appiyu2#
**答案:1.**基于阅读,我发现了一些差异,如,
junit-vintage-engine:
junit-jupiter-engine:
**答案:2.**我也很惊讶他们仍然提供旧的老式图书馆可能有一些原因,我不知道到现在,但根据目前的使用情况,我们将看到在下次更新。
祝你今天过得愉快!:)
i2byvkas3#
第一个问题也与JDK的版本有关,要使用jupiter引擎,你必须有Java 8或更高版本。第二个问题;由于老式引擎是为JUnit 4和JUnit 4是大于10岁,不建议使用。据我所知,虽然java已经进化了这么多,但它沿着没有更新。我想这就是为什么spring初始化器强制使用junit-jupiter-engine的原因。