springboot 单元测试怎么写

本文基于springboot版本1.4+ 推荐使用mock完全单节点测试和全链路测试

我们的单元测试是系统质量保证的重要一环,需要引起重视。但是由于目前分布式系统相互直接依赖繁杂 ,如果实际按业务数据来跑单元测试,那很难遵循单元测试的 AIR 原则【 Automatic(自动化)、Independent(独立性)、Repeatable(可重复)】 ,因而我们会引入mock来辅助完成单元测试。
另一方面单元测试分为两部分 一个是单个最小单元的测试,另一种是单个系统内部全链路的测试。本文主要描述如果写全链路测试的方案

1、单节点测试

单一最小原子化测试这部分就不过多赘述了 参考之前的mock测试就就行了,不过这种模式最大的弊端就是不能跨层调用,因为我们系统内部很多代码都有分层 web-service-dao(rpc)
如果我们测试web层时 只能全mock service层服务,然后再层层递减的往下测试,工作量也比较大。
下面的系统全链路测试提供了 从web测试mock service或者mock dao 自由组合选择的方式,支持了跨层级的验证方式。

jmockit测试

2、系统内全链路测试

当我们系统的很多环节都完成了单元测试,但是发现并没有整个系统内部的某个服务从头到尾全链路的测试的case,这种情况 容易造成一个问题,就是每个环节都没有问题,但是把每个环节串联起来的时候发现与实际业务期望并不符合。其中很多时候是因为我们在编写最小原子单元测试的时候,更多的视角局限于这一点,容易忽视某些点。
但是从服务的最高点出发来思考问题 ,可以相对的覆盖更多的实际业务场景。所以我们还需要关注全链路的测试。
下面推荐一种单元测试的写法 ,供大家参考,每个人都有不同的看法,一起完善最终可能就会完美

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest(classes ={
    SimpleResourceIm
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值