快速上手 SpringBoot 单元测试

这篇具有很好参考价值的文章主要介绍了快速上手 SpringBoot 单元测试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

✏️作者:银河罐头
📋系列专栏:JavaEE

🌲“种一棵树最好的时间是十年前,其次是现在”

什么是单元测试?

单元测试(unit testing),是指对软件中的最⼩可测试单元进⾏检查和验证的过程就叫单元测试。

单元测试有哪些好处

1.可以⾮常简单、直观、快速的测试某⼀个功能是否正确。

2.可以跳过项目里的其他模块(如登录,权限验证),直接定位去测试该单元。

3.使⽤单元测试,在测试功能的时候,可以不污染连接的数据库,也就是可以不对数据库进⾏任何改 变的情况下,测试功能。

(比如我想验证"插入功能",这时候我需要向数据库中一条无用数据来验证这个功能,这样就会污染数据库)

4.使⽤单元测试可以帮我们在打包的时候,发现⼀些问题,因为在打包之前,所有的单元测试必须通 过,否则不能打包成功。

SpringBoot 单元测试使用

Spring Boot 项⽬创建时会默认添加单元测试框架 spring-boot-test,打开 pom.xml 就可以看到,以下信息是 Spring Boot 项⽬创建是⾃动添加的:

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

单元测试的实现步骤

@Mapper
public interface UserMapper {
     List<UserEntity> getAll();
     //根据 id 查询某个用户信息
     UserEntity getUserById(@Param("id") Integer id);
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.example.demo.mapper.UserMapper">
    <select id="getAll" resultType="com.example.demo.entity.UserEntity" >
        select * from userinfo
    </select>

    <select id="getUserById" resultType="com.example.demo.entity.UserEntity">
        select * from userinfo where id = ${id};
    </select>
</mapper>

来测 getUserById() 这个方法。

生成单元测试类

springboot快速测试,JavaEE进阶,spring boot,单元测试,java

springboot快速测试,JavaEE进阶,spring boot,单元测试,java

springboot快速测试,JavaEE进阶,spring boot,单元测试,java

springboot快速测试,JavaEE进阶,spring boot,单元测试,java

springboot快速测试,JavaEE进阶,spring boot,单元测试,java

添加单元测试代码

@SpringBootTest//表示当前单元测试的类是运行在 SpringBoot 环境中的
class UserMapperTest {

    @Autowired
    private UserMapper userMapper;

    @Test
    void getUserById() {
        UserEntity user = userMapper.getUserById(2);
        System.out.println(user);
    }
}

springboot快速测试,JavaEE进阶,spring boot,单元测试,java

mysql> select * from userinfo;
+----+----------+----------+-------+---------------------+---------------------+-------+
| id | username | password | photo | createtime          | updatetime          | state |
+----+----------+----------+-------+---------------------+---------------------+-------+
|  1 | admin    | admin    |       | 2021-12-06 17:10:48 | 2021-12-06 17:10:48 |     1 |
|  2 | zhangsan | zhangsan |       | 2021-12-06 17:10:48 | 2021-12-06 17:10:48 |     1 |
+----+----------+----------+-------+---------------------+---------------------+-------+
2 rows in set (0.01 sec)

测试通过,成功查询到 id = 2 的用户的信息。

同理,可以测试 getAll() 方法:

springboot快速测试,JavaEE进阶,spring boot,单元测试,java

测试通过,数据库里确实只有 2 条数据。文章来源地址https://www.toymoban.com/news/detail-535109.html

到了这里,关于快速上手 SpringBoot 单元测试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【JavaEE进阶】 SpringBoot的创建与简单使用

    了解Maven,并配置国内源 使⽤SpringBoot创建⼀个项⽬,输出Hello,SpringBoot。 如果你是专业版,则那个版本都可以。 如果你是社区版,则请下载 2021.1 - 2022.1.4 如果个⼈电脑安装的 idea 不在这个范围,需要卸载重新安装 卸载参考:《IDEA卸载和删除注册表》 一定要删除注册表 关于M

    2024年02月04日
    浏览(44)
  • 【JavaEE进阶】——第八节.SpringBoot统一功能处理

    作者简介:大家好,我是未央; 博客首页: 未央.303 系列专栏:JavaEE进阶 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!! 文章目录 前言 一、统一用户的登录 1.1 Spring AOP 实现用户统一登录验证 1.2Spring拦截器实现统一用户的登录验证 1.3 实例演示(通

    2024年02月07日
    浏览(47)
  • C++单元测试GoogleTest和GoogleMock十分钟快速上手(gtest&gmock)

    下载 安装 重要文件 googletest gtest/gtest.h libgtest.a libgtest_main.a 当不想写 main 函数的时候,可以直接引入 libgtest_main.a; 否则 googlemock gmock/gmock.h libgmock.a libgmock_main.a 一 .断言 gtest 中的断言分成两大类: ASSERT_* 系列:如果检测失败就直接退出 当前函数 EXPECT_* 系列:如果检测失败

    2024年02月06日
    浏览(41)
  • 快速上手 Jest 单元测试框架:使用 Jest Preset 加速配置,灵活应对项目需求

    Jest preset 参数的作用是提供一个预先定义好的配置集合,以便于快速开始使用 Jest 单元测试框架。你可以选择现有的 preset,如 jest-preset-angular 、 create-react-app 或自定义 preset,以根据你的项目需求自动应用一系列配置。 使用示例: 先安装一个现有的 preset,例如 jest-preset-angul

    2024年02月06日
    浏览(36)
  • 1.JavaEE进阶篇 - 为什么要学习SpringBoot呢?

    大家好,我是晓星航。今天为大家带来的是 JavaEE 进阶导读 相关的讲解!😀 学习框架相当于从“小作坊”到“工厂”的升级,小作坊什么都要自己做,工厂是组件式装配,特点就是高效。 框架更加易用、简单且高效。 框架主要体现在思维方式和编程思想上,与代码语言无关

    2024年04月15日
    浏览(48)
  • 【SpringBoot】SpringBoot单元测试

    单元测试(unit testing),是指对软件中的 最小可测试单元(方法) 进⾏检查和验证的过程就叫单元测试。 单元测试是开发者编写的⼀⼩段代码, ⽤于检验被测代码的⼀个很小的、很明确的(代码)功能是否正确 。执⾏单元测试就是 为了证明某段代码的执⾏结果是否符合我

    2023年04月17日
    浏览(40)
  • 【springboot单元测试,集成测试】

    本文介绍一下SpringBoot中的测试方法 @SpringBootTest 一个普通的web api 测试类: 使用mockMvc好处是不会启动真实的web服务 当然你可以使用@SpingBootTest 并且注入一个RestTemplate来做真实的请求 假如希望仅仅测试controller层时, 可以使用另外一个注解 @WebMvcTest 他有一个参数可以指定测试

    2024年02月08日
    浏览(36)
  • JavaEE进阶(6)SpringBoot 配置文件(作用、格式、properties配置文件说明、yml配置文件说明、验证码案例)

    接上次博客:JavaEE进阶(5)Spring IoCDI:入门、IoC介绍、IoC详解(两种主要IoC容器实现、IoC和DI对对象的管理、Bean存储、方法注解 @Bean)、DI详解:注入方式、总结-CSDN博客 目录 配置文件作用 SpringBoot配置文件  配置文件的格式 properties 配置文件说明 properties 基本语法 读取配置

    2024年01月23日
    浏览(67)
  • 【JavaEE】spring boot快速上手

    学习流程介绍: spring boot springmvc spring framework mybatis spring 源码 项目管理工具,idea中将他嵌入进来了 项目构建、打包 依赖管理 会出现的一个官方bug 就是当你创建maven项目的时候会卡死 那么怎么办呢? 你只能先关闭原来项目,再重新去创建maven项目。 创建完项目之后 创建完

    2024年02月20日
    浏览(42)
  • SpringBoot下进行单元测试

    工程升级SpringBoot之后,突然发现之前写的几个简单的单元测试类无法正常执行了,因为SpringBoot工程的配置方式与之前还是有比较大的差异。 而且之前直接使用Junit来写单元测试,这一次打算直接升级到SpringBoot的Test方式。 1、引入依赖包 之前是直接引用junit依赖包,需要更改

    2024年02月08日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包