什么是Mock测试?
一句话概括:
Mock测试就是用一个“假”的对象(Mock对象)来模拟一个真实对象的行为,以便于隔离并测试当前代码逻辑,而不受依赖对象的影响。
一个生动的比喻:
想象你正在测试一辆汽车的发动机(待测模块)。发动机的正常运转依赖于油箱供油。但你并不想每次测试发动机时都真的加满汽油(真实依赖)。
这时,你可以:
-
接上一个假的“模拟油箱”(Mock对象)。
-
提前设定好这个模拟油箱的行为:比如,“当发动机请求供油时,你就稳定地输出燃油”。
-
然后,你就可以专心致志地测试发动机的启动、加速、怠速等逻辑,完全不受真实油箱里有没有油、油品质量如何的影响。
这个“模拟油箱”就是Mock对象。Mock测试的核心就是 “隔离” 与 “控制”。
Mock测试的核心原理
Mock对象通常通过一些框架(如Java的Mockito、Python的unittest.mock、JavaScript的Jest)来创建。它可以:
-
模拟依赖对象:创建一个真实对象/接口的替身。
-
预设行为:指定当调用Mock对象的某个方法时,应该返回什么值(
when...thenReturn),或者应该抛出什么异常。 -
验证交互:检查待测模块是否以正确的参数、正确的次数调用了Mock对象的方法。

最低0.47元/天 解锁文章
1557

被折叠的 条评论
为什么被折叠?



