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

新手上路,请多包涵

这是一个双重问题。

  1. junit-vintage-enginejunit-jupiter-engine 有什么区别?
  2. 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>

原文由 Sandeep Kumar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

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

大概因为您将只为新的 Spring Boot 项目编写 JUnit 5 测试,所以不需要老式引擎,因此 POM 中的默认依赖项排除。

参考:

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

原文由 ck1 发布,翻译遵循 CC BY-SA 4.0 许可协议

答:1. 根据阅读,我发现了一些不同之处,例如,

junit 复古引擎:

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

junit-jupiter-引擎:

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

答案:2。 我也很惊讶他们仍在提供旧的老式库,可能有一些我现在还不知道的原因,但根据当前的使用情况,我们将在下一次更新中看到。

祝你今天过得愉快!!! :)

原文由 Dhwanil Patel 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题