Springboot单元测试mysql_Springboot Mybatis-Plus数据库单元测试实战(三种方式)

本文介绍了Springboot使用Mybatis-Plus进行数据库单元测试的三种方法:1) 启动完整环境;2) 只启动数据库环境+远程数据库;3) 只启动数据库环境+本地H2数据库。通过示例代码详细展示了每种方式的实现,并讨论了各自的适用场景。
摘要由CSDN通过智能技术生成

单元测试长久以来是热门话题,本文不会讨论需不需要写单测,可以看看参考资料1,我个人认为写好单测应该是每个优秀开发者必备的技能,关于写单测的好处在这里我就不展开讨论了,快速进入本文着重讨论的话题,如何写好数据库单测。

为什么要写数据库单测? 相信大家是不是有这样类似的经历,在写完复杂的sql语句后,自信满满的提测,发现很大一部分Bug都是因为sql语句出现问题了,要么少写逗号,要么漏了字段,悔不当初哇,为啥写完不多测测呢!

没关系!这就教你如何写数据库单测,让你轻松告别数据库相关bug。

1. 数据库样例和环境

我们以用户表为例开启本次教程:

371a4744db1e9e5b339f4627aeb7e2fb.png

图1.1 用户表ER图

引入mybatis-plus插件后,mapper类如下:

@Mapper

public interface UserMapper extends BaseMapper {

}

整体环境:

spring boot: 1.5.18.RELEASE

mybatis: 3.5.1

mybatis plus:3.4.0(此时最新版本,我们会用到最新版本的特性)

在这里我们直接测试的是mybatis plus提供的一些CRUD,当然这些CRUD一般都不会错,实际项目中我们只需对自定义的SQL进行单元测试即可。

2. 方式一:启动整个环境

这种方式应该是日常环境使用最多的,利用SpringBoot自1.4.0版本开始引入的@SpringBootTest注解可以启动我们单元测试所需要的所有环境,当然,如果你项目中运用了其他分布式服务,他同样也会启动这些服务。单测代码如下:

@RunWith(SpringRunner.class)

@SpringBootTest

public class UserMapperTest {

@Autowired

private UserMapper userMapper;

@Test

public v

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值