📜  Spring Boot – 入门测试

📅  最后修改于: 2022-05-13 01:54:42.371000             🧑  作者: Mango

Spring Boot – 入门测试

Spring Boot 建立在 Spring 之上,包含了 Spring 的所有特性。并且由于其快速的生产就绪环境使开发人员能够直接专注于逻辑而不是为配置和设置而苦苦挣扎,如今它正成为开发人员的最爱。 Spring Boot 是一个基于微服务的框架,在其中制作可用于生产的应用程序只需要很少的时间。以下是 Spring Boot 的一些特性:

  • 它允许避免在 spring 中存在的 XML 的繁重配置
  • 它提供易于维护和创建 REST 端点
  • 它包括嵌入式 Tomcat 服务器
  • 部署非常简单,war和jar文件可以轻松部署在tomcat服务器中

spring-boot-starter-test 是测试我们的 Spring Boot 应用程序的主要启动器依赖项。它包含测试所需的大部分库,包括 JUnit Jupiter、Hamcrest 和 Mockito。

例子

在本例中,我们将创建一个 spring boot 项目并添加 spring-boot-starter-test 依赖项,并运行应用程序类的预定义测试。

分步实施

第一步:创建一个spring boot项目

在这一步中,我们将创建一个 Spring Boot 项目。为此,我们将使用 Spring Initializr,一旦我们创建了项目,我们将把它导入到我们的 Eclipse IDE 中。下面是 Spring Boot 项目配置的屏幕截图。完成配置后,单击 Generate 按钮,它将自动为我们的项目生成一个 zip 文件。

图 1 – Spring Boot 项目配置

第二步:在Eclipse IDE中导入spring boot项目

一旦我们有了项目的 zip 文件,我们将把它导入到我们的 IDE 中。为此,请转到File > Import

图 2.1 – 导入 Maven 项目

在此 Maven Projects > Existing Maven Project 之后,然后单击 Next 按钮。

图 2.2 – 现有的 Maven 项目

现在我们需要浏览到项目位置并选择项目目录并单击完成按钮。

图 2.3 – 项目本地路径

第三步:依赖配置

一旦我们将创建一个 Spring Boot 项目并将其导入到我们的 IDE 中,我们将在其中找到一个包含项目依赖项的文件 pom.xml。在 pom.xml 中,已经存在用于 spring boot 启动器测试的依赖项。如果没有,我们将添加以下依赖项。它将添加与测试相关的所有依赖项。

XML

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


Java
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
  
// @SpringBootTest annotation is used
// to mark a standard spring test
@SpringBootTest
class SpringBootStarterTestApplicationTests {
  
    // @Test annotation marks a 
      // method as a test method
    @Test
    void contextLoads() {
    }
  
}


上面,我们可以寻找spring-boot-starter-test依赖有 test。这意味着测试的范围仅取决于开发和测试模式。一旦应用程序被开发、捆绑和打包,所有的测试范围依赖都会被忽略。

第四步:SpringBootStarterTestApplicationTests 类

添加依赖并成功构建应用程序后。我们可以看看是我们的项目根路径,我们会找到类进行测试。在我们的例子中,它被命名为“ SpringBootStarterTestApplicationTests ”。它位于src/test/ Java根路径中。

图 4 – 测试类

第 5 步:运行测试类

在这一步中,我们将运行我们的 SpringBootStarterTestApplicationTests 类。下面是我们测试类的预定义代码。

Java

import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
  
// @SpringBootTest annotation is used
// to mark a standard spring test
@SpringBootTest
class SpringBootStarterTestApplicationTests {
  
    // @Test annotation marks a 
      // method as a test method
    @Test
    void contextLoads() {
    }
  
}

上面spring boot默认提供了两个注解:

  • @SpringBootTest – 此注释标记在运行标准 Spring Boot 测试的测试类上。 @SpringBootTest 注解在 Spring Test Context 框架上具有以下特性。
    • 如果显式定义了 @ContextConfiguration(loader=""),它使用默认的SpringBootContextLoader
    • 它支持各种WebEnvironment模式。
    • 如果应用程序使用 Web 服务器进行 Web 测试,那么它会自动注册TestRestTemplateWebTestClient bean。
    • 它为使用args 属性定义的应用程序参数提供了便利。
  • @Test——这个注解将一个方法标记为测试方法。

第 6 步:输出

在这一步中,我们将运行我们的应用程序。为此,我们将转到我们的测试类“ SpringBootStarterTestApplicationTests ”,我们将右键单击它作为 JUnit 测试运行。这将运行默认的contextLoads()测试。

输出

图 6 – 输出