什么是 Mock 测试?

Mock测试用于模拟被测系统依赖,提高测试覆盖率和效率。它记录真实调用并生成模拟返回,常见类型包括方法、类、接口和服务级别。Mock注入包括API构造、客户端Mock、服务端Mock、本地配置、配置中心、反向代理和前向代理等方法。常用工具有easymock、Mockito、Wiremock和Mockserver等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

什么是 Mock?

作为动词,Mock 是模拟、模仿的意思。

作为名词,Mock 是能够模仿真实对象行为的模拟对象。

那么,在软件测试中,Mock 所模拟的对象是什么呢?

模拟的是 SUT(System Under Test:被测系统) 的依赖,而不是其本身。

比如,我要测试 A,但 A 依赖 B,要模拟的对象就是 B。

为什么要模拟 B 呢?

提高 A 的测试覆盖率:通过 Mock 模拟 B 返回的正常和异常的结果,使用 A 的测试更充分。

避免 B 的因素对 A 产生影响:当 B 因各种原因无法正常使用时,导致 A 无法测试。

提高 A 的测试效率:B 的真实行为可能很慢,但模拟可以很快。

Mock 的两大功能:

记录真实的调用信息

生成模拟的返回信息

使用 Mock 的问题是什么?

可能导致问题遗漏:毕竟是模拟的,是理想可预见的情况,真实的情况可能更复杂。

可能导致维护成本变高:接口变更 Mock 用例要跟着改,改错和漏改都可能出问题。

常见的 Mock 类型:

方法级别:Mock的对象是一个函数调用,例如:获取系统环境变量。

类级别:Mock 的对象是一个类,例如

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值