背景
在开发过程中,由于后端与前端并行开发,或者前端需要等待后台开发,难以保证对接效率,同时即使用开发好的 API 对接,也有可能一个 API 不通就阻塞了整个软件的对接工作。同时对软件的敏感度也很高,一不小心就可能导致整个软件不能正常工作。并且界面之间存在着严重的相互依赖关系,产生的业务逻辑非常复杂,这些都会对软件的开发效率产生很大的影响。
所以学习如何利用最好的 Mock 数据是很关键的。这样做会降低前端开发者的工作量,降低开发费用,提高开发效率。
以下是一些常见的 Mock 方法,我们可以根据具体的场景和条件来进行选择和配置。最关键的是要知道如何去做,并从中挑选出最适合自己的方式。
Mock 介绍
或许还有一些没见过 Mock 的读者,不知道 Mock 是什么。今天就来跟你说说这玩意的厉害,这玩意非同凡响!
简单地说, Mock 是指在测试期间,为一些难以构建或不易获得的对象,创建一个虚拟物体进行测试。而这个虚拟物体就是模拟物体,模拟对象是在调试过程中实际对象的替代。
有时候, Mock 服务被称为一个测试服务替代品,或一个测试服务,下面的图片非常生动地说明了它的功能。
Mock 能解决什么问题?
Mock 功能的优势:
-
前端对接不依赖后端: 让前端工程师独立于后端进行开发。
-
增加测试的真实性: 通过随机数据,模拟各种场景。
-
开发无侵入: 不需要修改既有代码,就可以拦截 Ajax 请求,返回模拟的响应数据。
-
数据类型丰富: 支持生成随机的文本、数字、布尔值、日期、邮箱、链接、图片、颜色等。
-
方便扩展: 支持扩展更多数据类型,支持自定义函数和正则。
Mock 功能适用场景在实际工作中非常多,真正在实际项目中,引入 Mock 工具通常来解决如下几类问题。主要有:
-
开发进行单元测试
因为单元测试只对目前的单元进行,所以必须保证所有的内外依赖关系都是稳定的,使用 mock 的方式来模拟基础单元依赖的其它单元,这样就可以把测试的重心放在当前单元的功能上,从而消除外部因素的影响,提高测试的准确性。
-
调用第三方接口
在做接口自动化的时候,有时候需要调用第三方的接口,但是别人公司的接口服务稳定性不受你的控制,有可能别人提供的测试环境今天服务给你开着,别人就关掉了,给自动化接口测试带来很多的麻烦,此时就可以通过 mock 来模拟接口的返回数据,比如模拟各种第三方异常时的返回。
-
解决接口间的相互依赖
例如,您正在开发前端网页,现在您需要开发付款功能:下一