现在都是前后端分离架构,一般是后端人员先设计好接口定义,然后前端人员就可以根据接口定义进行开发了,前期前后端独立开发,互相不影响。

那么问题来了,如果到了中后期,前端开发完了,后端还没开发完,那前端要傻傻地等后端开发完再联调测试吗?到那时,就太晚了,前端的质量就没法保证,一般后端要弄个 Mock 测试,后端提供接口虚拟数据让前端能够提前测试,待后端开发完后再进行真实数据的联调。

前面栈长介绍了一款阿里巴巴开源的 Mock 工具:TestableMock,该工具号称最轻量、简单、舒适的 Mock 测试工具,功能十分强大,还能和单元测试集成,不挑框架,点击上面的链接可以看详细介绍及实战教程。这个工具是后端单元测试集成时用的,并不能用作前端的 Mock 独立测试。

也许现在还有人在用写代码的方式造假数据,那太低效了,今天栈长就介绍一款简单的 Mock 测试方法,能让前端独立开发、模拟测试,Postman 就能搞定!

一、创建 Mock Server

本文,栈长以最新的 Postman 8.0.6 为例进行演示。

打开 Postman,并切换到 Mock Servers 面板:

可以看到 Mock Server 的定义:

Mock servers let you simulate endpoints and their corresponding responses in a collection without actually setting up a back end.

翻译一下:

Mock 服务器可以让你模拟端点及对应的响应,而无需设置后端。

点击 “Create new Mock Server” 文字,开始创建一个新的 Mock Server。

这里栈长选择创建一个新集合(也可以选择已有的集合),然后新建了两个请求及对应的模拟响应数据。

下一步,开始进入 Mock Server 相关配置:

输入 Mock 服务器名称,选中保存服务器 URL 为环境变量选项,最后完成 Mock Server 创建:

创建完后需要做两件事:

1、为每个请求添加 Mock Server 示例响应;

示例添加参考资料:

https://go.pstmn.io/docs-examples

2、发送 Mock Server Url 请求;

Mock Url 如下:

https://41783d96-2f22-4ed6-ac64-62187a0ee521.mock.pstmn.io

这是个公网链接,只有有网,前端就能联调测试。

二、发起 Mock 请求

打开集合(Collections)面板:

可以看到已经创建的 javastack-mock 集合,及之前创建的两个请求及默认示例响应,以及创建的 Mock Server Url 环境变量。

既然已经生成了默认的示例响应,那么直接开始发起 Mock 请求吧,选中一个 get 请求,发起请求:

如图所示:响应返回了默认的示例响应数据。

三、添加自定义示例

实际测试过程中,默认的示例响应数据可能不能满足要求,可以再新增自定义示例,根据增加请求参数来判断走哪个示例,如现在添加一个示例:

为这个示例响应增加了 name 参数和不同的响应数据:

然后再回到 get 请求,加上 name 参数:

发起请求,可以看到现在 get 请求走的是新创建的示例,而没有走默认的,就是根据新加的参数来判定的,只要 URL 和参数匹配就会走对应的示例。

四、Mock 历史记录

回到 Mock Server 面板:

可以看到 Mock Server 历史请求记录。

随便点开一条记录可以看请求、响应详细数据:

总结

今天主要分享了 Postman Mock Server 的使用,其他更多的细节可以再自己摸索哦。

不管你是做前端的还是做后端的,如果你有这方面的 Mock 需求,公司又没有 Mock 流程和规范,那都可以拿起 Postman 试试,毕竟它很简单、方便,可以很轻松的实现一个 Mock Server,而不必写任何代码,难道不香吗?

好了,今天的分享就到这了,后面我还会陆续分享更多好玩的开发技术,关注公众号Java技术栈第一时间推送。

你有更多好玩的东西,也欢迎留言分享!

关注我,不迷路!

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注