一、什么是Mock测试?

Mock 测试就是在测试活动中,对于某些不容易构造或者不容易获取的比较复杂的数据/场景,用一个虚拟的对象(Mock对象)来创建用于测试的测试方法。

二、为什么要进行Mock测试?

Mock是为了解决不同的单元之间由于耦合而难于开发、测试的问题。

所以,Mock既能出现在单元测试中,也会出现在集成测试、系统测试过程中。

Mock 最大的功能是帮你把单元测试的耦合分解开,如果你的代码对另一个类或者接口有依赖,它能够帮你模拟这些依赖,并帮你验证所调用的依赖的行为。

三、Mock适用场景

  1. 需要将当前被测单元和其依赖模块独立开来,构造一个独立的测试环境,不关注被测单元的依赖对象,只关注被测单元的功能逻辑。

  2. 被测单元依赖的模块尚未开发完成,而被测单元需要依赖模块的返回值进行后续处理。

2.1 前后端项目中,后端接口开发完成之前,接口联调

2.2 依赖的上游项目的接口尚未开发完成,需要接口联调测试

  1. 被测单元依赖的对象较难模拟或者构造比较复杂

如: 支付业务的异常条件很多,但是模拟这种异常条件很复杂或者无法模拟

四、 Mock测试的优势

  1. 团队可以并行工作

有了Mock,前后端人员只需要定义好接口文档就可以开始并行工作,互不影响,只在最后的联调阶段往来密切;后端与后端之间如果有接口耦合,也同样能被Mock解决;测试过程中如果遇到依赖接口没有准备好,同样可以借助Mock;不会出现一个团队等待另一个团队的情况

  1. 开启测试驱动开发模式

当接口定义好后,测试人员就可以创建一个Mock,把接口添加到自动化测试环境,提前创建测试。

  1. 可以模拟那些无法访问的资源

比如说,你需要调用一个“墙”外的资源来方便自己调试,就可以自己Mock一个。

  1. 避免脏数据产生

我们需要调用一个post请求,为了获得某个响应,来看当前系统是否能正确处理返回的“响应”,但是这个post请求会造成数据库产生脏数据,那么就可以充分利用Mock,构造一个虚拟的post请求,我们给他指定返回就好了。

  1. 可以用来演示

比如你已经做好了一个系统,并且需要给客户进行演示,但是里面有些真实数据并不想让用户看到,那么同样,你可以用Mock接口把这些敏感信息接口全部替换。

这次我以 Eoapi 为例,演示如何使用 Mock 功能

如何 MOCK

创建 Mock

进入API文档详情页面,点击 Mock 标签,点击新建 Mock:

在这里插入图片描述

在弹窗中输入 Mock 的名称以及响应内容:

在这里插入图片描述

调用 Mock

进入 Mock 列表页面,点击调用地址即可复制到剪贴板,在代码中直接对该 API 地址发起请求即可得到响应结果。

在这里插入图片描述

这个开源的 API 工具叫 Eoapi ,除了基本的文档和测试功能,还有插件广场和 MOCK 这些核心功能,个人使用后觉得还不错。还在为 API 工具发愁的思友们,不妨试试这个。

Eoapi 是一款类 Postman 的开源 API 工具,它更轻量,同时可拓展。

Github:https://github.com/eolinker/eoapi

Gitee:https://gitee.com/eolink_admin/eoapi

官方文档:https://www.eoapi.io/?utm_source=CSDN2504

如果你对于 Eoapi 有任何疑问或者建议,都可以去 Github 或者 Gitee 找他们,提个Issue,国产开源软件,需要我们的支持!

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐