我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Spring Boot 单元测试

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Spring Boot 单元测试

文章目录

1. 单元测试是什么

单元测试,是指对软件中的最小可测试单元进行检查和验证的过程叫单元测试

在 Spring Boot 中,最小可测试单元是指 方法

单元测试是开发者编写的一小段代码,用于检测被测代码的一个很小的、很明确的(代码)功能是否正确

执行单元测试就是为了证明某段代码的执行结果是否符合我们的预期

2. 单元测试的优点

  1. 可以非常简单、直观、快速的测试某一个功能是否正确
  2. 使用单元测试,在测试功能的时候,可以不污染连接的数据库,也就是可以不对数据库进行任何改变的情况下,测试功能
  3. 使用单元测试可以帮我们在打包的时候,发现一些问题,因为在打包之前,所有的单元测试必须通过,否则不能打包成功

3. 进行 Spring Boot 单元测试

3.1 确认项目中已经内置了测试框架

高版本 Spring Boot 项目创建时会默认添加单元测试框架 Spring-boot-test,我们只要确定 pom.xml 中有这个就可以了

    org.springframework.boot    spring-boot-starter-test    test

3.2 生成单元测试的类

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ceUyi5uI-1675159391947)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675150633816.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1eYBYWHy-1675159391949)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675150721346.png)]

3.3 添加 @SpringBootTest 注解

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ihpmcNOI-1675159391949)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675150914725.png)]

3.4 添加单元测试的业务代码

// 表示当前单元测试运行在 Spring boot 环境中@SpringBootTestclass UserMapperTest {    @Autowired    private UserMapper userMapper;    @Test    void getUserById() {        Userinfo userinfo = userMapper.getUserById(1);        Assertions.assertNotNull(userinfo);    }}

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XivylmwK-1675159391950)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675151915242.png)]

有些版本的 idea 可能会出现加 @Autowired 注解后代码报错的问题,这是因为

@Autowired 来自 Spring,@Mapper 来自 MyBaits,所以有可能出现不兼容的问题,解决方案是使用 JDK 提供的 @Resource 来注入 Mapper 类型

运行程序

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XX8Gqq8k-1675159391950)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675151604957.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gg8lXCq2-1675159391950)(C:\Users\28463\AppData\Roaming\Typora\typora-user-images\1675151755861.png)]

3.5 注解 @Transactional

在单元测试中添加此注解,表示在方法执行完之后回滚事务,这样就不会污染数据库了

比如这个修改操作,如果不想污染数据库中的数据,就可以直接添加注解 @Transactional

@Test@Transactional // 在单元测试中添加此注解,表示在方法执行完之后回滚事务void update() {    int result = userMapper.update(2,"张三");    Assertions.assertEquals(1,result);}

4. 断言

如果断言失败,则后续代码都不会执行

方法说明
assertEquals判断两个对象或两个原始类型是否相等
assertNotEquals判断两个对象或两个原始类型是否不相等
assertSame判断两个对象引用是否指向同一个对象
assertNotSame判断两个对象引用是否指向不同的对象
assertTrue判断给定的布尔值是否为 true
assertFalse判断给定的布尔值是否为 false
assertNull判断给定的对象引用是否为 null
assertNotNull判断给定的对象引用是否不为 null

来源地址:https://blog.csdn.net/m0_58761900/article/details/128821538

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Spring Boot 单元测试

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Spring Boot中怎么利用JUnit 5实现单元测试

这篇文章给大家介绍Spring Boot中怎么利用JUnit 5实现单元测试,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1. 忽略测试用例执行JUnit 4:@Test @Ignore public void t
2023-06-16

如何Spring Boot中使用MockMvc对象进行单元测试

这期内容当中小编将会给大家带来有关如何Spring Boot中使用MockMvc对象进行单元测试,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Spring测试框架提供MockMvc对象,可以在不需要客户端
2023-05-31

Android 单元测试

Junit单元测试,使用时一般分为两种:一种是项目内测试,另一种是新建一个Junit工程。第一种情况时,要在本项目AndroidManifest.xml中作出配置: