系列文章目录
Spring Boot[概述、功能、快速入门]_心态还需努力呀的博客-CSDN博客
Spring Boot读取配置文件内容的三种方式_心态还需努力呀的博客-CSDN博客
该系列文章持续更新中~
目录
系列文章目录
前言
一、搭建SpringBoot工程
二、引入starter-test起步依赖
三、编写测试类
四、添加测试相关注解
4.1 @RunWith(SpringRunner.class)
4.2 @SpringBootTest(classes=启动类.class)
五、编写测试方法
六、效果图
总结
前言
SpringBoot整合Junit为了就是用来测试方法的执行结果。Junit是一个Java语言的测试框架。Junit 测试可以更快地编写代码,提高质量。
一、搭建SpringBoot工程
创建SpringBoot的方法我以前写过,可查看本文章:Spring Boot[概述、功能、快速入门]_心态还需努力呀的博客-CSDN博客
还有一种快速创建SpringBoot项目的方法,在new project的时候选择Spring Initializr,然后选择Maven,Name啥的可以自己编写项目名称等。具体操作页面如下图所示:
二、引入starter-test起步依赖
在pom.xml文件中引入starter-test起步依赖坐标,具体代码如下图:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
三、编写测试类
在编写测试类前我们需要创建一个service包,在service包下编写UserService类,以便于模拟以后测试类中测试service层的方法。UserService类下的代码如下,就是编写一个测试方法。注意:service层要加入@Service的注解。
package com.imust.service;
import org.springframework.stereotype.Service;
@Service
public class UserService {
public void test(){
System.out.println("test junit");
}
}
四、添加测试相关注解
4.1 @RunWith(SpringRunner.class)
@RunWith(SpringRunner.class)注解是一个测试启动器,可以加载Springboot测试注解。
4.2 @SpringBootTest(classes=启动类.class)
@SpringBootTest(classes=启动类.class)是SpringBoot项目的测试的注解,参数就是将引导类。用来使测试类在运行时能够找到main主方法。就是如下图红色框内所示的参数。
注意:如果test/java包下的文件名称和路径和main/java包下的文件名称和路径相同,则可以不配置参数,会自动找到启动类的位置。
但如果不一致的话必须配置参数。否则将会报错提示找不到启动类。
五、编写测试方法
在test/java包下编写测试类UserServiceTest,这里的路径就和main/java的不一样,所以需要配置参数。然后注入UserService类,调用UserService类下的test方法测试是否可以运行。具体代码如下:
import com.imust.MyApplication;
import com.imust.service.UserService;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest(classes = MyApplication.class)
@RunWith(SpringRunner.class)
public class UserServiceTest {
@Autowired
private UserService userService;
@Test
public void testJunit(){
userService.test();
}
}
六、效果图
在控制台中可以看到打印出来了UserService类下的test方法编写的输出语句,说明整合成功。
总结
在我们开发自己的项目时都需要先去进行测试service层的代码是否逻辑和运行结果是否正确,这样在整合后将结果传给前端才能在页面中看到正确的内容。所以说测试是非常必要的。