Junit-vintage-engine和junit-jupiter-engine之间的区别?

2022-09-01 13:09:38

这是一个双重问题。

  1. 和 有什么区别?junit-vintage-enginejunit-jupiter-engine
  2. SpringBoot入门项目附带了.是为了强制使用朱尼特木星发动机吗?junit-vintage-engine

以下是我的SpringBoot项目的依赖关系,该项目由Spring Initializr生成:

        <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>

答案 1

junit-vintage-engine用于运行 JUnit 4 测试; 用于 JUnit 5 测试。junit-jupiter-engine

据推测,由于您只会为新的Spring Boot项目编写JUnit 5测试,因此不需要老式引擎,因此POM中的默认依赖项排除。

参考:

https://junit.org/junit5/docs/current/user-guide


答案 2

答:1.根据阅读,我发现了一些差异,如,

Junit-vintage-engine :

  • 用于 Junit-4 测试。
  • 用于调用核心类和注释。
  • “Assert”,提供用于执行测试的断言方法。
  • “假设”用于放置假设。
  • 使用注释,如,@Ignore,@Before等...

朱尼特-木星-引擎 :

  • 用于 Junit-5 测试
  • 提供一些有助于编写测试用例的 API。
  • “断言”提供了用于测试的断言条件的实用方法。
  • “假设” - 效用方法提供基于假设的条件。
  • 更改注释名称的位,如,@Disable,@BeforeAll,@BeforeEach等...

答:2.我也感到惊讶的是,他们仍然提供较旧的老式图书馆,可能有一些原因,直到现在我还不知道,但根据目前的使用情况,我们将在下次更新中看到这一点。

有好的一天!!!:)


推荐