Spring Boot整合Junit

news/2024/10/23 7:35:36/

系列文章目录

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 {@Autowiredprivate UserService userService;@Testpublic void testJunit(){userService.test();}
}

六、效果图

 在控制台中可以看到打印出来了UserService类下的test方法编写的输出语句,说明整合成功。


总结

在我们开发自己的项目时都需要先去进行测试service层的代码是否逻辑和运行结果是否正确,这样在整合后将结果传给前端才能在页面中看到正确的内容。所以说测试是非常必要的。


http://www.ppmy.cn/news/9990.html

相关文章

Android 12 蓝牙适配 Java版

Android 12.0蓝牙适配前言正文一、Android版本中蓝牙简介二、新建项目① 配置build.gradle② 配置AndroidManifest.xml三、打开蓝牙① 打开蓝牙意图② 请求BLUETOOTH_CONNECT权限意图四、蓝牙扫描① 扫描者② 扫描回调③ 扫描方法④ 执行扫描⑤ 应用不推导物理位置五、页面显示…

机器学习:如何解决类别不平衡问题

类别不平衡是一个常见问题&#xff0c;其中数据集中示例的分布是倾斜的或有偏差的。 1. 简介 类别不平衡是机器学习中的一个常见问题&#xff0c;尤其是在二元分类领域。当训练数据集的类分布不均时会发生这种情况&#xff0c;从而导致训练模型存在潜在偏差。不平衡分类问题的示…

N个点,求距离最近的两个点---分支策略(2)

N个点&#xff0c;求距离最近的两个点---分治策略&#xff08;1&#xff09;_Happy_Traveller的博客-CSDN博客介绍了N个点&#xff0c;求距离最近的两个点的分治策略的算法&#xff0c;可以将直觉上的复杂度优化到&#xff0c;这其实已经是很大的改进了&#xff0c;那么有没有办…

php学习笔记-代码基本语法-day01

php代码基本语法 PHP&#xff08;PHP: Hypertext Preprocessor&#xff09;即“超文本预处理器”&#xff0c;是在服务器端执行的脚本语言&#xff0c;尤其适用于Web开发并可嵌入HTML中。PHP语法学习了C语言&#xff0c;吸纳Java和Perl多个语言的特色发展出自己的特色语法&…

华为OD机试真题Java_2022-2023-题目0184-获得完美走位

获得完美走位 题目描述 在第一人称射击游戏中,玩家通过键盘的A、S、D、W四个按键控制游戏人物分别向左、向后、向右、向前进行移动,从而完成走位。 假设玩家每按动一次键盘,游戏人物会向某个方向移动一步,如果玩家在操作一定次数的键盘并且各个方向的步数相同时,此时游戏…

spring springboot mockito测试的注解

写这个文章只是想帮自己理解&#xff1a; 测试的时候&#xff0c;注解到底怎么写 首先看你的junit版本 如果您使用的是 Junit 版本 < 5&#xff0c; 则必须使用 RunWith(SpringRunner.class)或 RunWith(MockitoJUnitRunner.class)等等。 如果您使用的是 Junit 版本 5&…

Duboo优雅关闭(附源码分析)

Dubbo优雅关闭 1. 关闭有什么问题 当服务提供方要上线的时候&#xff0c;一般是通过部署系统完成实例重启。在这个过程中&#xff0c;服务提供方的团队并不会事先告诉调用方他们需要操作哪些机器&#xff0c;从而让调用方去事先切走流量。而对调用方来说&#xff0c;它也无法…

深入理解Synchronized

Synchronized 底层原理 Synchronized的语义底层是通过一个 Monitor 的对象来完成&#xff0c;其实wait/notify等方法也依赖于 Monitor 对象&#xff0c;这就是为什么只有在同步的块中&#xff0c;拿到锁之后&#xff0c;才能调用wait/notify等方法&#xff0c;否则会抛出java.…