阿萨学工具:Apifox的高级Mock 功能

264 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情

大家好,我是阿萨。截止目前。我们已经学习了Apifox的mock 功能里的智能Mock内置规则,自定义智能Mock规则,返回字段高级设置里的长度,范围,枚举等Mock功能。

但是实际工作中还有一种场景:

  1. 根据不同请求值,返回不同值。比如订单是1,返回tb;订单是2,返回pdd;订单是3, 返回 jd。
  2. 请求值非法,返回字段给出对应的提示信息。如果订单是dd,返回非法参数。
  3. 返回字段是有含义的,不是一个随机值,比如返回外国人名。

今天我们就学习下针对以上场景如何使用高级Mock 功能。

一 返回一个有含义的非随机值字段。

比如阿萨昨天的返回值里有一个 name, 我希望返回一个外国人名字。该如何设置呢?

首先我们看下昨天添加的字段里name.

Image

在更多后面有一个Mock的输入框。

点击输入框。可以看到默认值支持的mock 数据,根据要求不同,返回值不同,这里我们找下name。

Image

Image

\

ImageImage

或者点击最右边的框会出来一个对话框。\

ImageImage

点击输入自己想要的数据类型。具体的mock 语法,可以参考:www.apifox.cn/help/app/mo…

选择@name。返回人名。我们看下结果。

Image

二  根据不同值,响应返回不同。

阿萨给大家演示下如下场景。

订单是1,返回tb;订单是2,返回pdd;订单是3, 返回 jd。

新增一个接口,path 里传订单id 。

Image

点击【高级Mock】, 选择【新增期望】。

Image

按照如上例子,依次 增加1st id,2nd id,3rd Id。

然后点快捷请求看下,1,2,,3的结果。

Image

Image

Image

三  请求值非法,返回非法请求。

如果请求的结果是个非法值,如何添加对应结果呢?

在接口的【高级Mock】里,再新增一个期望。不合法响应【body】.

Image

然后点击【更多设置】里直接选择状态码【 403】

Image

保存后,然后运行。看下结果。

Image

满足场景要求。

前端同学,在日常工作中的利器,有没有?

你学会了吗?

明天我们继续。

如果喜欢,欢迎点赞,关注和在看。