利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

liam
• 阅读 193

Apifox 拥有强大的 Mock 功能,兼容 Mock.js 语法的同时还提供 Nunjucks 和自定义脚本支持,能够满足不同场景需求。

今天给大家分享一些常见业务场景的 Mock 使用技巧,当然,实现的方法不唯一。在开始之前,你需要将 Apifox 的当前环境切换为 「本地 Mock」「云端 Mock」 环境。

模拟简单数据

要模拟一些简单的数据,只需在 「返回响应」 里定义字段,系统便会自动使用「智能 Mock」规则生成数据

响应字段可以是简单的数据结构,也可以是复杂的数据结构(如嵌套对象、数组等)。

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

通过 「智能 Mock」 自动生成的数据:

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

模拟列表数据

当页面需要展示多条数据(如文章列表、商品列表等)时,要快速生成几十条甚至几百条数据,可以在 「高级 Mock」里新建一个「期望」,并通过 Nunjucks 语法写一个 for 循环即可利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

或者更简单一点,不使用「高级 Mock」,直接限定字段的 「最大/最小元素个数」 即可:

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

生成的示例数据:

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

模拟分页数据

当数据需要分页展示时,可以在「高级 Mock」里面编写脚本来模拟分页数据。

自定义的脚本支持获取接口的请求参数,你可以根据请求参数(比如当前页、页容量)来实现不同的业务逻辑。

例如现在设置一个 “总数据有 120 条,每页的页容量为 100 条,根据不同的页码返回不同数据” 的脚本,其脚本如下:

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

当前页为 1,页容量为 100 时,返回 100 条数据:

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

当前页为 2,页容量为 100 时,返回 20 条数据(因为总共 120 条数据,到第二页时只剩 20 条):

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

当前页为 3,页容量为 100 时,返回 0 条数据(因为总共 120 条数据,到第三页时已经没有数据了),你也可以选择在这里定义“抛出错误”的脚本。

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

模拟请求延迟

在实际网络环境中,接口响应会有一定的延迟。模拟延迟可以测试加载状态下的页面展示效果,确保用户体验良好。

要模拟延迟非常简单,只需要在「高级 Mock」的「期望」里设置返回延迟时间即可:

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

模拟错误状态

测试应用的错误处理和容错机制时,可以模拟不同类型的错误响应,如 404 Not Found、500 Internal Server Error 等。

同模拟延迟一样,模拟错误状态也只需要在「高级 Mock」的「期望」里设置返回的 HTTP 状态码即可:

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

其它数据模拟

诚然,通常使用 Mock 数据的请求主要是 GET 请求。然而,虽然 Apifox Mock 本身更加专注于模拟 GET 请求,但是你仍然可以使用一些技巧来模拟其他类型的请求,如 PUT、DELETE、POST 等。

假设你正在开发一条登录接口,你可能会考虑登录成功以及登录失败的情况,这时候就可以在「高级 Mock」里新建不同的「期望」,以返回不同的预期

利用 Apifox 的 Mock 功能快速构建业务数据模拟场景

Apifox 提供了多种 Mock 方法,能够轻松生成演示数据,模拟各种场景,高效提升开发和测试效率。它既支持前端独立开发,也可集成到 自动化测试 中,是接口开发调试的好帮手。

更多 Mock 相关知识:

点赞
收藏
评论区
推荐文章
Symbol卢 Symbol卢
2年前
聊聊前后端接口对接的那些事
前言在现在的前后端分离的项目开发中,为了不影响项目的进度,都是前后端同时进行开发。为了不影响咱们前端开发的进度,通常都是由后端同学,先提供接口文档,然后前端同学对照这接口文档来进行数据的模拟来完成前后端对接的工作。这里的数据模拟其实也就是大家平时所说的mock数据,那么前端当中有哪些方式来实现mock数据呢???…(⊙_⊙;)…咱们接着往下聊!(●^o^●)
liam liam
2年前
高效进行接口测试,简单易懂!
前言日常测试过程中,常常需要多种工具来接力完成自己的接口测试任务。比如说,使用swagger查看接口文档,使用mock编造接口数据对前端页面做测试使用postman测试后端接口,用Jmeter来做接口自动化测试/性能测试。那有没有一款软件可以完美集成以上所有的功能?笔者发现一款叫Apifox的软件,一款完成能完成以上几乎所有软件的功能。官方给出Apifox(
liam liam
1年前
接口测试工具简介!
一、Apifox的介绍1、目前接口测试的现状2、常用方案3、存在问题开发人员在Swagger定义好文档后,接口调试的时候还需要去Postman再定义一遍。前端开发Mock数据的时候又要去mockjs定义一遍,还需要手动设置Mock规则。测试人员需要去JMeter再定义一遍。前端根据mockjsMock出来的数据开发完,后
基于SpringBoot实现单元测试的多种情境/方法(二)
本文分享自天翼云开发者社区@《》,作者:才开始学技术的小白1Mock基础回顾在上一篇分享中我们详细介绍了简单的、用mock来模拟接口测试环境的方法,具体的使用样例我们再回顾一下:1.首先是最简单的不需要传参的示例,需要注意的是,可能@Resource这个注
liam liam
2年前
这款神器大大提升了协作效率!
一、前言工欲善其事,必先利其器最近对API接口协作的软件研究了好久,市面上的软件都下载用了一轮,下面给大家介绍其中的最强「神器」Apifox。Apifox官网:在介绍它之前,先说几个场景。如果你是后端、前端或测试,那一定遇到过这些场景。1.1.场景一、后端视角:我是个后端,遇到过的问题:1.接口定好,团队里的前端、测试小伙伴找我要文档
liam liam
1年前
Mock 语法讲解
是生成随机数据,拦截Ajax请求的JavaScript库。本文来介绍下Mock的常用语法。模拟数据生成随机数据Mock.Random.boolean()生成一个随机的布尔值。例如:返回值为true或false。Mock.Random.integer(min
Stella981 Stella981
2年前
PowerMock单元测试
   在Java(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Flib.csdn.net%2Fbase%2Fjavaee)程序的单元测试中常用的mock工具有Mockito和EasyMock。但是这两种mock工具都无法实现对静态、final、私有方法或类的mock。因此有了功能强
Wesley13 Wesley13
2年前
API 资源隔离系统设计与实现
_(马蜂窝技术原创内容,公众号ID:mfwtech)_Part1背景大交通业务需要对接机票、火车票、租车、接送机等业务的外部供应链,供应商的数据接口大部分通过HTTP、HTTPS等协议进行通信。为了保证开发进度并支持集成测试时进行多场景支持,我们往往需要对供应商接口进行MOCK。之前我们在开发环境和
Wesley13 Wesley13
2年前
Java高级特性—反射和动态代理
1).反射  通过反射的方式可以获取class对象中的属性、方法、构造函数等,一下是实例:2).动态代理  使用场景:      在之前的代码调用阶段,我们用action调用service的方法实现业务即可。    由于之前在service中实现的业务可能不能够满足当先客户的要求,需要我们重新修改servic
京东云开发者 京东云开发者
3个月前
画眉(京东科技设计稿转代码平台)介绍
前言随着金融App业务的不断发展,为了满足不同场景下的用户体验及丰富的业务诉求,业务产品层面最直接体现就是大量新功能的上线及老业务的升级,随之也给研发带来了巨大的压力,所以研发效率的提升就是当前亟需解决的问题,今天我们来看下“画眉”平台是如何帮助前端研发同