首页 > 其他分享 >SpringBoot 单元测试

SpringBoot 单元测试

时间:2023-11-06 22:35:53浏览次数:48  
标签:SpringBoot 代码 单元测试 SpringBootTest 3.3 测试 test

1、什么是单元测试?

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

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

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

注意

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

3、单元测试的实现步骤

3.1 引入依赖

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

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
  <scope>test</scope>
</dependency>


3.2 生成单元测试类

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

SpringBoot 单元测试_单元测试

SpringBoot 单元测试_spring_02

SpringBoot 单元测试_业务逻辑_03

注意:

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

SpringBoot 单元测试_单元测试_04

3.3 添加元测试代码

3.3.1 添加 Spring Boot 框架测试注解:@SpringBootTest

@SpringBootTest		// @SpringBootTest 表明当前单元测试是运行在Spring Boot环境中
class SysUserMapperTest {

    @Test
    void selectUserList() {
    }
}

3.3.2 添加单元测试业务逻辑

添加需要测试的业务逻辑,这里省略;


3.3.2 测试业务

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

SpringBoot 单元测试_单元测试_05

标签:SpringBoot,代码,单元测试,SpringBootTest,3.3,测试,test
From: https://blog.51cto.com/u_16345395/8218165

相关文章

  • springboot mybatis-plus 登录接口
    下面是使用SpringBoot和MyBatis-Plus实现登录接口的示例代码:添加依赖在pom.xml文件中添加以下依赖:<dependencies><!--SpringBoot--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</a......
  • springboot+mybatis-plus批量删除
    可以使用Mybatis-Plus提供的deleteBatchIds方法来实现批量删除。示例代码:@AutowiredprivateMybatisPlusMappermybatisPlusMapper;publicvoiddeleteBatch(List<Long>ids){mybatisPlusMapper.deleteBatchIds(ids);}其中,MybatisPlusMapper是你的Mapper接口,继承了BaseMa......
  • 如何在idea中创建一个SpringBoot项目
    在IntelliJIDEA中创建一个SpringBoot项目非常简单。下面是一步一步的指南:打开IntelliJIDEA:启动IntelliJIDEA,确保你已经安装并配置好Java开发环境。创建新项目:如果你在IDEA的欢迎界面,点击"CreateNewProject"。如果你已经有一个项目打开,可以通过选择"File"->"New......
  • Java:SpringBoot实现JDK动态代理和CGLIB动态代理
    (目录)需要代理的对象//接口publicinterfacePayService{voidpay();}//实现publicclassAliPayServiceimplementsPayService{@Overridepublicvoidpay(){System.out.println("AliPayService");}}1.JDK动态代理在JDK动态代......
  • SpringBoot通过自定义注解+反射机制比较两个对象不同的属性值
    publicclassFieldComparisonUtil{/**•直接返回一个新的对象,并且对象的值只有被修改的部分••@paramold•@paramsource•@paramisParent•@paramtarget目标对象•@return/**•@paramold进行属性比较的原始数据•@paramsource进行属性比......
  • 使用Github Copilot生成单元测试并执行
    上一篇文章我们介绍了使用GithubCopilot完成代码编写本文我们继续使用GithubCopilot在已有代码的基础上生成代码测试并执行。一、先说一下代码的背景需要上需要提供一个度量衡的工具类,实现各种转换,例如将长度值转换为英寸将长度值转换为英里将长度值转换为厘米将长度......
  • Linux脚本:批量启动docker容器、批量启动springboot、批量启动Vuejs
    批量启动springboot#!/bin/bash#检查容器是否已经启动check_container(){sudodockerps|grep"$1">/dev/nullif[$?-ne0];thenecho"$1containerisnotrunning.Starting$1..."sudodockerstart"$1"elseecho......
  • springboot第44集:Kafka集群和Lua脚本
    servers:Kafka服务器的地址。这是Kafka集群的地址,生产者将使用它来发送消息。retries:在消息发送失败时,生产者将尝试重新发送消息的次数。这个属性指定了重试次数。batchSize:指定了生产者在发送消息之前累积的消息大小(以字节为单位)。一次性发送多个消息可以提高性能。linger:指定了生......
  • springboot入门
    两年没写了。。连右下的小人都没了。得开始新一阶段的学习了。先从学习springboot及其前置内容开始学习。然后简单复习一下vue框架。idea在创建maven的springboot工程时自动下了个依赖,尽量选择版本低一点的。。适配java8不容易出问题。一旦出问题了多重建项目就会重新下springboo......
  • SpringBoot 基础知识
    ​#SpringBoot#​‍本文基于SpringBoot2.0最新稳定版2.7.6;目前SpringBoot3.0已经发布,后续会体验新版新特性。官网:SpringBoot‍SpringBoot程序的优点起步依赖(简化依赖配置)自动配置(简化常用工程相关配置)辅助功能(内置服务器,.....)快速上手SpringBoot工程联网......