Java junit vintage引擎和junit jupiter引擎之间的区别?

Java junit vintage引擎和junit jupiter引擎之间的区别?,java,spring-boot,junit,spring-boot-test,Java,Spring Boot,Junit,Spring Boot Test,这是一个双重问题 junit vintage引擎和junit jupiter引擎之间的区别是什么 SpringBoot初学者项目不包括junit vintage engine。是为了强制使用junit jupiter引擎吗 下面是我的SpringBoot项目的依赖项,它是由以下内容生成的: org.springframework.boot 弹簧起动试验 测试 org.junit.vintage 朱尼特老式发动机 junit vintage引擎用于运行junit 4测试junit jupiter

这是一个双重问题

  • junit vintage引擎和junit jupiter引擎之间的区别是什么
  • SpringBoot初学者项目不包括
    junit vintage engine
    。是为了强制使用junit jupiter引擎吗
  • 下面是我的SpringBoot项目的依赖项,它是由以下内容生成的:

    
    org.springframework.boot
    弹簧起动试验
    测试
    org.junit.vintage
    朱尼特老式发动机
    
    junit vintage引擎
    用于运行junit 4测试<代码>junit jupiter引擎用于junit 5测试

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

    参考资料:


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

    junit vintage引擎:

    • 用于Junit-4测试
    • 用于调用核心类和注释
    • “Assert”提供用于执行测试的断言方法
    • “假设”用于放置假设
    • 使用诸如@Ignore、@Before等注释
    junit jupiter引擎:

    • 用于Junit-5测试
    • 提供一些有助于编写测试用例的API
    • “断言”提供用于测试的断言条件的实用方法
    • “假设”-效用法根据假设提供条件
    • 更改注释名称的位,如@Disable、@BeforeAll、@beforeach等
    回答:2.我也很惊讶他们仍然提供老式图书馆,可能有一些原因我现在还不知道,但根据当前使用情况,我们将在下一次更新中看到


    祝你今天愉快!!!:)

    第一个问题也与JDK版本有关。为了能够使用jupiter引擎,您必须拥有Java8或更高版本。关于第二个问题;由于老式发动机适用于JUnit4,且JUnit4的使用寿命大于10年,因此不建议使用。据我所知,尽管java已经进化了很多,但它在这段时间内并没有更新。我认为这就是为什么spring初始值设定项强制使用junit jupiter引擎的原因

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