当前位置:首页 >> 技术栈专业化分层 >> 【Spring Boot】SpringBoot 单元测试,暗黑3配置测试

【Spring Boot】SpringBoot 单元测试,暗黑3配置测试

cpugpu芯片开发光刻机 技术栈专业化分层 1
文件名:【Spring Boot】SpringBoot 单元测试,暗黑3配置测试 【Spring Boot】SpringBoot 单元测试

SpringBoot 单元测试 一. 什么是单元测试二. 单元测试的好处三. Spring Boot 单元测试单元测试的实现步骤

一. 什么是单元测试

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

二. 单元测试的好处

1、可以⾮常简单、直观、快速的测试某⼀个功能是否正确。 2、使⽤单元测试可以帮我们在打包的时候,发现⼀些问题,因为在打包之前,所以的单元测试必须通过,否则不能打包成功。 3、使⽤单元测试,在测试功能的时候,可以不污染连接的数据库,也就是可以不对数据库进⾏任何改变的情况下测试功能。(需要 @Transactional 注解)

三. Spring Boot 单元测试

Spring Boot 项⽬创建时会默认单元测试框架 spring-boot-test,⽽这个单元测试框架主要是依靠另⼀个著名的测试框架 JUnit 实现的,打开 pom.xml 就可以看到:

单元测试的实现步骤 ⽣成单元测试类

在要测试的类中右键 -> generate -> test

⽣成的代码:

class UserMapperTest {@Testvoid findUserByName() {}}

这个时候,此⽅法是不能调⽤到任何单元测试的⽅法的,此类只⽣成了单元测试的框架类,具体的业务代码要自己填充。

注意: 生成的单元测试的类的位置放在 test 对应的目录下

添加单元测试代码

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

@SpringBootTest // 表明当前单元测试是在 Spring Boot 环境下的, 不加上这个注解的话, 无法注入要使用的类class UserMapperTest {@Testvoid findUserByName() {}}

2.添加单元测试业务逻辑

@SpringBootTestclass UserMapperTest {@Resourceprivate UserMapper userMapper;@Testvoid findUserByName() {User user = userMapper.findUserByName("zhaoliu");// 使⽤断⾔判断最终的结果是否符合预期Assertions.assertNotNull(user);}}

如果想要不污染数据库的话可以在类上或者方法上加上 @Transactional 注解, 这样测试完会自动回滚.

@Transactional@Testvoid findUserByName() {User user = userMapper.findUserByName("zhaoliu");// 使⽤断⾔判断最终的结果是否符合预期Assertions.assertNotNull(user);}

简单的断⾔说明:

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

好啦! 以上就是 SpringBoot 单元测试 的讲解,希望能帮到你 ! 评论区欢迎指正 !

协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接