前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SpringBoot 单模块下的单元测试

SpringBoot 单模块下的单元测试

原创
作者头像
刺槐儿
发布于 2023-11-13 13:45:24
发布于 2023-11-13 13:45:24
1.6K00
代码可运行
举报
文章被收录于专栏:技术路线技术路线
运行总次数:0
代码可运行

1、什么是单元测试?

单元测试(Unit Testing)是一种软件测试方法,用于验证和确认代码中的各个单元(通常是函数、方法或类)是否按照预期工作。单元测试旨在检测代码中的小部分,以确保其功能的正确性。

2、单元测试有哪些好处?

  1. 在单元测试中使用模拟对象来替代实际的数据库访问操作,不会实际修改数据库中的数据。
  2. 单元测试可以验证代码中的每个单元(通常是函数、方法或类)是否按照预期工作,有助于快速定位和修复问题。
  3. 单元测试是持续集成的关键组成部分,可以在每次代码提交或构建时自动运行,以确保新代码未引入问题。

注意

在构建项目时,会自动运行所有的单元测试,如果测试失败,构建过程将停止,以确保不发布有问题的代码。

3、单元测试的实现步骤

3.1 引入依赖

创建Spring Boot 项目时会默认单元测试框架 spring-boot-starter-test,这个单元测试框架基于测试框架 JUnit 实现。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>

3.2 生成单元测试类

在需要进行单元测试的类里面右键:Generate

注意:

生成的单元测试文件在test目录下。

3.3 添加元测试代码

3.3.1 添加 Spring Boot 框架测试注解:@SpringBootTest
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@SpringBootTest		// @SpringBootTest 表明当前单元测试是运行在Spring Boot环境中的
class SysUserMapperTest {

    @Test
    void selectUserList() {
    }
}
3.3.2 添加单元测试业务逻辑

添加需要测试的业务逻辑;

这里根据自己的项目需求进行某个模块下的单元测试,故截图省略;

3.3.2 测试业务

然后,鼠标右键运行该测试。

注意

进行单元测试后, 再去运行项目,需要切换过来。

3.4 常见报错

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
java.lang.IllegalStateException: Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration or @SpringBootTest(classes=...) with your test

报错原因

测试类和Spring Boot启动类不在一个目录下。

报错原因

方法一:将启动类和测试类放在同一个包下即可。

方法二:给测试类的注解加上@SpringBootTest(classes = {启动类类名.class})

3.5 多模块下的单元测试

在springboot单模块项目很好实现单元测试,只要生成测试类即可进行测试。但在多模块项目中进行单元测试稍微复杂。比如多模块项目中有些模块没有启动类,如果对该模块进行测试,则需要创建启动类,并进行相关配置。

在多模块下如何进行单元测试,将在下篇文章中呈现。

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Spring Boot单元测试
Spring Boot 中进行单元测试是一个常见的做法,可以帮助你验证应用程序的各个组件是否按预期工作。所以我们有必要去学习一番!
终有救赎
2023/10/16
2970
Spring Boot单元测试
SpringBoot对单元测试支持、常用单元测试功能使用实例
Spring Boot 提供了许多注解和工具帮助开发人员测试应用,在其官方文档中也用了大量篇幅介绍单元测试的使用。在谷歌每周的 TGIF (ThanksGod, it's Friday)员工大会中有一项就是 宣布-周单元测试竞赛获胜的工程师。谷歌之所以这么重视单元测试,就是为了保证程序质量,鼓励大家多写测试代码。国内大多数开发人员对单元测试有所忽视,这也是我写本章内容的原因所在。
愿天堂没有BUG
2022/10/28
1.9K0
SpringBoot对单元测试支持、常用单元测试功能使用实例
Spring Boot 做单元测试,真心强悍!
Spring Boot 提供了一个 spring-boot-starter-test一站式启动器,如以下依赖配置所示。
Java技术栈
2023/09/06
8110
Spring Boot 做单元测试,真心强悍!
SpringBoot整合Junit进行单元测试
简介:本文通过一个案例讲解,如何通过SpringBoot来整合Junit进行单元测试。
GeekLiHua
2025/01/21
1220
SpringBoot整合Junit进行单元测试
Spring单元测试
单元测试对开发来说是一种基本素养。Java这方面的工业标准是使用JUnit。在使用了Spring框架及其衍生的相关框架后,会有不同程度的变化。
李鸿坤
2020/11/03
1.2K0
小白搞 Spring Boot单元测试
单元测试的目的: 测试当前所写的代码是否是正确的, 例如输入一组数据, 会输出期望的数据; 输入错误数据, 会产生错误异常等. 在单元测试中, 我们需要保证被测系统是独立的(SUT 没有任何的 DOC), 即当被测系统通过测试时, 那么它在任何环境下都是能够正常工作的. 编写单元测试时, 仅仅需要关注单个类就可以了. 而不需要关注例如数据库服务, Web 服务等组件。
田维常
2021/09/27
4.8K0
【快学springboot】在springboot中写单元测试
很多公司都有写单元测试的硬性要求,在提交代码的时候,如果单测通不过或者说单元测试各种覆盖率不达标,会被拒绝合并代码。写单元测试,也是保证代码质量的一种方式。
Happyjava
2024/02/01
4.2K0
【快学springboot】在springboot中写单元测试
【快学springboot】在springboot中写单元测试
很多公司都有写单元测试的硬性要求,在提交代码的时候,如果单测通不过或者说单元测试各种覆盖率不达标,会被拒绝合并代码。写单元测试,也是保证代码质量的一种方式。
Happyjava
2019/07/16
1.5K0
【快学springboot】在springboot中写单元测试
Spring Boot(十二)单元测试JUnit
JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,开发工具Eclipse和IDEA对JUnit都有很好的支持,JUnit主要用于白盒测试和回归测试。
磊哥
2018/12/06
9780
Spring Boot(十二)单元测试JUnit
SpringBoot高级【单元测试】
  单元测试是我们开发中调试的时候的重要方式,本文介绍下在SpringBoot2.x中怎么使用单元测试。
用户4919348
2019/05/19
6970
【Java实用干货】使用@SpringBootTest注解进行单元测试
@SpringBootTest注解是SpringBoot自1.4.0版本开始引入的一个用于测试的注解。
程序员洲洲
2024/06/07
2.2K0
【Spring Boot实战与进阶】单元测试JUnit的使用
  JUnit是一款优秀的开源Java单元测试框架,也是目前使用率最高最流行的测试框架,开发工具Eclipse和IDEA对JUnit都有很好的支持,JUnit主要用于白盒测试和回归测试。   白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人 员是公开的;   回归测试:软件或环境修复或更正后的再测试;   单元测试:最小粒度的测试,以测试某个功能或代码块。一般由程序员来做,因为它需要知道内部程序设计和编码的细节;
程序员云帆哥
2022/05/12
5610
【Spring Boot实战与进阶】单元测试JUnit的使用
springboot(13)-测试
我们之前的springboot相关文章中,对于一些结果的验证都是通过浏览器作为测试入口来展开,但是实际上我们后端开发人员在写好一个应用程序时,通过现有的测试框架,通过做单元测试对功能做第一轮验收,这个过程中我们能够发现编译错误、一些容易发现的功能性bug和包括各种技术层面的比如数据库连不上等问题。
叔牙
2020/11/19
5760
springboot(13)-测试
Springboot 使用单元测试
单元测试其实是一种廉价的技术,是由开发者创建运行测试代码,用于对程序模块(软件设计的最小单位)进行正确性检验的一种做法。 而所谓的最小单元,就是指应用的最小可测试部件。 在面向对象领域,最小单元对应于类的某个成员方法。
Java3y
2019/12/05
1.2K0
Springboot 使用单元测试
SpringBoot学习入门之Hello项目的构建、单元测试和热部署等
本文章主要是个人在学习SpringBoot框架时做的一些准备,参考老师讲解进行完善对SpringBoot构建简单项目的学习汇集成本篇文章,作为自己对SpringBoot框架的总结与笔记。
用户7353950
2022/06/23
1.1K0
SpringBoot学习入门之Hello项目的构建、单元测试和热部署等
【从零开始】springboot单元测试(一)
工作十来年,代码也写了不少,接受过“祖传屎山”,也经历过非常优雅规范的流程,一直心里有些遗憾的,是后来绝大部分公司(不分大小)都忽略了最低成本质量保证的方法:单元测试。虽然很多公司在提,但是很少有公司愿意给程序猿分配写单元测试相应的工作量,因为这玩意表面看起来投入收益不成正比,似乎都是在做无用功,但是在产品的整个生命周期,单元测试却是产品质量的最低保证。
小尘哥
2022/12/07
4180
【从零开始】springboot单元测试(一)
Spring Boot 单元测试详解+实战教程
Spring Boot 提供了许多实用工具和注解来帮助测试应用程序,主要包括以下两个模块。
Java技术栈
2018/07/31
1.6K0
Spring Boot 单元测试详解+实战教程
Spring Boot的测试框架(一)
Spring Boot提供了多种测试框架,包括单元测试、集成测试、端到端测试等。在本文中,我们将介绍Spring Boot的测试框架,并给出一些实际的示例。
堕落飞鸟
2023/04/06
9510
Spring Boot & 单元测试
本文主要介绍Spring Boot如何完成各种不同类型的单元测试 Spring基本单元测试 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> 测试代码 @RunWith(SpringRunner.class) //启动Spring @
十毛
2019/03/27
2.8K0
为什么程序员一定要写单元测试?
大家好,我是鱼皮,很多初学编程的同学都会认为 “程序员的工作只有开发新功能,功能做完了就完事儿”。但其实不然,保证程序的正常运行、提高程序的稳定性和质量也是程序员的核心工作。
程序员鱼皮
2023/10/23
3470
为什么程序员一定要写单元测试?
相关推荐
Spring Boot单元测试
更多 >
LV.3
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验