【Java】【SpringBoot】CP02:单元测试
This article is written by Xrilang(Chinese Name:萌狼蓝天)
If you want find me ,You can contact me in BiliBili . My Bilibili name is 萌狼蓝天
Of course, you can also add my QQ(My QQ number is: 3447902411)
(Please note that your sole purpose of adding me is limited to technical exchange. I won't help you with your homework!)
萌狼蓝天 - 博客园 | 萌狼工作室 - 萌狼蓝天 (mllt.cc) | 萌狼蓝天の技术栈 | Welcome !
在实际开发中,每当完成一个功能接口或业务方法的编写后,通常都会借助单元测试验证该功能是否正确。
Spring Boot 对项目的单元测试提供了很好的支持,在使用时,需要提前在项目的pom.xml
文件中添加spring-boot-starter-test
测试依赖启动器,可以通过相关注解实现单元
测试。
添加测试依赖启动器
注意:使用Spring Initiaizr方式搭建的Spring Boot项目会自动加入
spring-boot-starter-test
测试依赖启动器,无需开发者手动添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
如果是自行添加,务必添加在
dependencies
范围内<dependencies>
<!--在此处添加-->
</dependencies>
编写单元测试类和测试方法
单元测试类
/**
* 使用Spring Initializr方式自动创建的主程序启动类对应的单元测试类
*/
@RunWith(SpringRunner.class) //测试运行器,并加载Spring Boot测试注解
@SpringBootTest //标记单元测试类,并加载项目的上下文环境ApplicationContext
class Edu02CreateMySpringBootProjectApplicationTests {
//自动创建的单元测试方法示例
@Test
void contextLoads() {
}
}
单元测试方法
@Autowired //引入HelloController实例对象
private HelloController helloController;
@Test
public void helloControllerTest(){ //新增的单元测试方法
String hello = helloController.hello();//调用HelloController类中对应的请求控制方法hello()
System.out.println(hello);//打印输出结果
}
/**
* 使用Spring Initializr方式自动创建的主程序启动类对应的单元测试类
*/ @RunWith(SpringRunner.class) //测试运行器,并加载Spring Boot测试注解
@SpringBootTest //标记单元测试类,并加载项目的上下文环境ApplicationContext
class Edu02CreateMySpringBootProjectApplicationTests {
//自动创建的单元测试方法示例
@Test
void contextLoads() {
} @Autowired //引入HelloController实例对象
private HelloController helloController;
@Test
public void helloControllerTest(){ //新增的单元测试方法
String hello = helloController.hello();//调用HelloController类中对应的请求控制方法hello()
System.out.println(hello);//打印输出结果
} }
运行测试 鼠标放在 helloControllerTest() 上右击运行
【Java】【SpringBoot】CP02:单元测试的更多相关文章
- ABAP和Java SpringBoot的单元测试
ABAP 在ABAP类里,本地类(Local Class)里用关键字FOR TESTING声明过的方法, 在单元测试启动后会自动被调用到. Spring Boot 在Spring及Spring Boo ...
- java~springboot~目录索引
回到占占推荐博客索引 最近写了不过关于java,spring,微服务的相关文章,今天把它整理一下,方便大家学习与参考. java~springboot~目录索引 Java~关于开发工具和包包 Java ...
- SpringBoot系列: 单元测试
SpringBoot 项目单元测试也很方便, Web项目中单元测试应该覆盖:1. Service 层2. Controller 层 本文前半部分讲解是一些测试基础配置. 对于Service和Contr ...
- SpringBoot项目单元测试
关于SpringBoot的单元测试,描述一下三种单元测试的方式. 1.约定 单元测试代码写在src/test/java目录下单元测试类命名为*Test,前缀为要测试的类名 2. 使用mock方式单元测 ...
- 【SpringBoot】单元测试进阶实战、自定义异常处理、t部署war项目到tomcat9和启动原理讲解
========================4.Springboot2.0单元测试进阶实战和自定义异常处理 ============================== 1.@SpringBoot ...
- SpringBoot与单元测试JUnit的结合
有些人认为,写单元测试就是在浪费时间 ,写完代码,依然还是能够进行测试的.但是,还是建议写单元测试的,可以让你的条理更加清晰,而且当某个功能出现问题时,可能通过单元测试很容易的定位和解决问题.本文主要 ...
- java~springboot(2022之后)~目录索引
回到占占推荐博客索引 最近写了不过关于java,spring,微服务的相关文章,今天把它整理一下,方便大家学习与参考. java~springboot(2022之前)~目录索引 java~spring ...
- 基于SpringBoot实现单元测试的多种情境/方法(二)
本文分享自天翼云开发者社区@<基于SpringBoot实现单元测试的多种情境/方法(二)>, 作者:才开始学技术的小白 1 Mock基础回顾 在上一篇分享中我们详细介绍了简单的.用moc ...
- Java 工具 JUnit单元测试
Java 工具 JUnit单元测试 @author ixenos 1.1. JUnit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个 ...
- SpringBoot系列: 单元测试2
之前发了SpringBoot 单元测试的博客, https://www.cnblogs.com/harrychinese/p/springboot_unittesting.html , 内容较少, 现 ...
随机推荐
- Trace32 simulator调试以及简单实用命令介绍
目录 Trace32 Simulator debug Trace32工具配置 Trace32命令简介 memory class 常见命令索引 v.v使用实例 不同CPU运行信息查看 Trace32 S ...
- .net 泛型 Generic
什么是泛型 就是不确定的类型
- Oracle ASM 常用巡检脚本
1.查看磁盘组 sqlplus "/ as sysasm" set line 200 set pagesize 200 select group_number,name,state ...
- 妙用编辑器:把EverEdit变成计算器
妙用编辑器:把EverEdit变成计算器 应用场景 日常工作过程中,会存在需要计算一些数据的场景,调用系统的计算器当然可以完成这项工作,但是需要来回切换,且系统自带的计算器没有表达式计算功能,真是不方 ...
- KubeSphere 社区双周报 | OpenFunction v1.0.0-rc.0 发布
KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...
- 用Qt发布打包的应用程序
使用Qt Creator创建Realase版本的程序之后,我们的程序可以正常运行,但是在没有Qt的电脑里是无法运行的. 原因说的很清楚,缺少了动态库.所以我们要把其他需要的库打包进来一起发布才可以.Q ...
- 乐观锁CAS
在 Java 中,我们可以使用 synchronized 关键字和 CAS 来实现加锁效果. 悲观锁: 对于悲观锁来说,它总是认为每次访问共享资源时会发生冲突,所以必须对每次数据操作加上锁,以保证临界 ...
- Machine Learning Week_1 Introduction 1-4
目录 1 Introduction 1.1 Video: Welcome unfamiliar words symbols 1.2 Video: What is machine learning? u ...
- 什么是 Nodejs
这集来聊什么是 Nodejs ,看看 Node.js 是为了解决什么样的痛点而生的,为啥说它是一个 JS 的运行环境,以及 npm 是什么,为何能引发了 Web 开发的革命. Node.js 的诞生 ...
- spring boot--@Value注解失效
接手一个任务开发预警邮件需求,计划将邮件信息(hostName,用户名,密码,发送方,接受方等)设置为可配置变量,配置在配置中心,使用@Value注解获取配置,如下: @Value("${w ...