如何在新的Spring Boot项目中启用JUnit 5

Ťhis post was originally posted on Medium.

在本文中,我们将学习如何在新创建的Spring中启用JUnit 5 引导项目。 我们正在执行以下步骤:

  1. 初始化新的Spring Boot项目看看我们的pom.xml并且主要在春季启动启动器测试dependency, going a little deeper in 春季启动启动器测试 and see whatJUnit version it usesHow to exclude child dependency that comes from one of our dependencies usingMaven添加JUnit 5将JUnit 4迁移到JUnit 5

1) First, let’s go to Spring Boot initializr and generate a new project.

如何在新的Spring Boot项目中启用JUnit 5_第1张图片

默认值应该很好,您可以单击“ Generate Project”按钮。 您应该已经下载了入门Sprint Boot项目的.zip存档。 解压缩并用您选择的IDE将其打开(我正在使用IntelliJ,下面的代码示例和示例将从中显示)。 打开它之后,您应该看到以下结构:

如何在新的Spring Boot项目中启用JUnit 5_第2张图片

2)现在,让我们专注于pom。xml。

在我们的pom.xml我们可以看到以下依赖项,其中包括用于测试Spring Boot应用程序的库(例如JUnit,Hamcrest和Mockito)。


  org.springframework.boot
  spring-boot-starter-test
  test

我们将更深入地了解确切的依赖关系及其版本,重点是unit与哪个春季启动启动器测试来了(在IntelliJ中,您可以通过Ctrl +单击到春季启动启动器测试。 在下面的代码段中,我们可以看到春季启动启动器测试JUnit 4.12附带,但已经有JUnit 5。 那么如何在新的Spring Boot项目中使用更新版本的JUnit?


  junit
  junit
  4.12
  compile

3)我们应该有一种排除JUnit 4的方法,因为由于以下原因我们目前依赖于它春季启动启动器测试。 我们可以通过将以下几行添加到春季启动启动器测试依赖关系,排除JUnit 4。


  org.springframework.boot
  spring-boot-starter-test
  test

  
    
      junit
      junit
    
  

4)现在,我们将使用Maven将JUnit 5配置为依赖项。 我们将在其中添加以下依赖项pom.xml


  org.junit.jupiter
  junit-jupiter-api
  5.3.2
  test


  org.junit.jupiter
  junit-jupiter-engine
  5.3.2
  test

我们应该将以下Maven插件添加到我们的构建插件中


  maven-surefire-plugin
  2.22.0

5)我们删除了对JUnit 4的依赖,我们添加了JUnit 5,现在是时候进行一些代码更改以使用JUnit 5了。DemoApplicationTests.java在这里我们可以看到以下代码


package com.example.demo;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

@RunWith(SpringRunner.class)
@SpringBootTest
public class DemoApplicationTests {

    @Test
    public void contextLoads() {
    }

}

实际上,我们唯一需要改变的是运行方式注解,因为它来自JUnit 4和测试注解。 更改后,我们的测试应该看起来像

package com.example.demo;

import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;

@ExtendWith(SpringExtension.class)
@SpringBootTest
public class DemoApplicationTests {

    @Test
    public void contextLoads() {
    }

}

您现在应该准备开始使用JUnit 5编写测试。 :)

from: https://dev.to//martinbelev/how-to-enable-junit-5-in-new-spring-boot-project-29a8

你可能感兴趣的:(java,开发工具)