大家好,我是阿萨。截止目前。我们已经学习了Apifox的mock 功能里的智能Mock内置规则,自定义智能Mock规则,返回字段高级设置里的长度,范围,枚举等Mock功能。
但是实际工作中还有一种场景:
- 根据不同请求值,返回不同值。比如订单是1,返回tb;订单是2,返回pdd;订单是3, 返回 jd。
- 请求值非法,返回字段给出对应的提示信息。如果订单是dd,返回非法参数。
- 返回字段是有含义的,不是一个随机值,比如返回外国人名。
今天我们就学习下针对以上场景如何使用高级Mock 功能。
一 返回一个有含义的非随机值字段。
比如阿萨昨天的返回值里有一个 name, 我希望返回一个外国人名字。该如何设置呢?
首先我们看下昨天添加的字段里name.
在更多后面有一个Mock的输入框。
点击输入框。可以看到默认值支持的mock 数据,根据要求不同,返回值不同,这里我们找下name。
或者点击最右边的框会出来一个对话框。
点击输入自己想要的数据类型。具体的mock 语法,可以参考:https://www.apifox.cn/help/app/mock/mock-rules/
选择@name。返回人名。我们看下结果。
二 根据不同值,响应返回不同。
阿萨给大家演示下如下场景。
订单是1,返回tb;订单是2,返回pdd;订单是3, 返回 jd。
新增一个接口,path 里传订单id 。
点击【高级Mock】, 选择【新增期望】。
按照如上例子,依次 增加1st id,2nd id,3rd Id。
然后点快捷请求看下,1,2,,3的结果。
三 请求值非法,返回非法请求。
如果请求的结果是个非法值,如何添加对应结果呢?
在接口的【高级Mock】里,再新增一个期望。不合法响应【body】.
然后点击【更多设置】里直接选择状态码【 403】
保存后,然后运行。看下结果。
满足场景要求。
前端同学,在日常工作中的利器,有没有?