测试自动化中的Mock策略

一个糟糕的Mock策略会让测试变成维护噩梦 甚至失去测试的意义

剑飞
1/14测试自动化中的Mock策略

但也是最容易误用的工具之一

Mock是现代软件测试不可或缺的工具但也是最容易误用的工具之一

问题决定工具方向
材料决定生成质量
约束决定结果边界
2/14测试自动化中的Mock策略

还是其他任何语言的测试框架

在讨论"怎么Mock"之前必须先理解为什么Mock策略值得花这么多篇幅讨论
3/14测试自动化中的Mock策略

1.**测试太慢**

但很多团队的测试实践陷入了困境 1.**测试太慢**一个测试套件跑完需要几十分钟甚至几个

命题先说清本页判断
解释补足为什么
行动留下下一步
4/14测试自动化中的Mock策略

某电商团队重构了支付模块

命题先说清本页判断
解释补足为什么
行动留下下一步
把“某电商团队重构了支”落到一个具体项目里看结果
5/14测试自动化中的Mock策略

虽然方法签名没变

旧的测试Mock了所有依赖所以即使真实逻辑已经错了测试仍然通过

把“虽然方法签名没变”落到一个具体项目里看结果
6/14测试自动化中的Mock策略

- **一方面**

Mock的本质 为什么要Mock

命题先说清本页判断
解释补足为什么
行动留下下一步
7/14测试自动化中的Mock策略

用来替代真实对象

Mock(模拟)是一种测试替身(TestDouble) 用来替代真实对象让测试能够控制依赖的行为 验证依赖的
8/14测试自动化中的Mock策略

某个方法签名需要一个参数

01命题

先说清本页判断

02解释

补足为什么

03行动

留下下一步

把“某个方法签名需要一”落到一个具体项目里看结果
9/14测试自动化中的Mock策略

```java // 生产

01命题

先说清本页判断

02解释

补足为什么

03行动

留下下一步

把“```java /”落到一个具体项目里看结果
10/14测试自动化中的Mock策略

} order.setSt

} order.setStatus("PROCESSED")

把“} order.s”落到一个具体项目里看结果
11/14测试自动化中的Mock策略

dummyLogger)

01命题

先说清本页判断

02解释

补足为什么

03行动

留下下一步

把“dummyLogg”落到一个具体项目里看结果
12/14测试自动化中的Mock策略

带走四步

找项目

从真实任务开始

出材料

把想法变成可处理内容

做交付

用结果判断能力

可复用

把完成沉淀为流程

13/14测试自动化中的Mock策略

让能力长出来

一个糟糕的Mock策略会让测试变成维护噩梦 甚至失去测试的意义

返回原文
上一篇没有更多文章下一篇没有更多文章