跳到主要内容

智能Mock匹配

提示

Apipost支持快速配置字段的Mock数据,通过匹配字段名,生成符合场景需求的mock数据。做到一次设置可以多处使用

使用场景

在实际的mock场景中,一些字段名例如 namenick_namereceiver_namereal_name,都需要模拟生成中文名字,就可以设置mock规则,通过通配符匹配方式( *_name)匹配到这些字段名,即可全部都模拟生成中文名字

解决的问题

在使用mock服务,生成模拟数据时,我们会先根据字段类型自动匹配mock数据,用户也可以手动去选择mock数据的规则,例如@cname(),@telephone(),像下图所示

image.png

这样就会带来几个问题

1、默认匹配字段类型生成的mock数据不够贴合用户真实的使用场景,如上图
2、如果每次都手动选择指定的mock规则,操作就会很繁琐
3、在同一项目下,字段、参数等高度重合,每次都手动选择mock的规则会很麻烦

因此产生了智能mock匹配的功能,可以一次设置,永久使用,不需要再手动选择了

如何设置Mock规则

在项目设置中找到Mock设置,进行自定义规则创建或者开启内置规则,进行使用

image.png

内置规则

Apipost内置了一批常见的Mock规则,可以直接开启使用
当在json-schema中的字段名字段类型命中规则时,就会按照设定的Mock规则生成数据
内置支持常用的字段,例如头像链接、姓名、数字、电话、URL等

image.png

创建自定义规则

信息

namenick_namereceiver_namereal_nameseller_name为例,创建自定义mock规则

image.png

点击确定即可看到创建的自定义规则

image.png

通配符使用方法

用于模式匹配和搜索操作,模式可以与多个字符串进行匹配。常见的通配符包括:

常用通配符
"*"(星号):匹配任意字符序列(包括空字符序列)。
"?"(问号):匹配任意单个字符。
"[]"(方括号):匹配方括号内的任意单个字符。例如,"[abc]"将匹配字符"a"、"b"或"c"。
"[!]"(取反方括号):匹配方括号内以外的任意单个字符。例如,"[!abc]"将匹配除了"a"、"b"和"c"之外的任意字符。
"{}" (指定多个选项):匹配多个选项,用逗号分隔。例如,"{fapple,orange,banana}"可以匹配"apple"、"orange"或"banana"。

使用场景

1、数据模型中应用

image.png
在预览中可以查看mock生成的数据,可以看到命中规则的已经成功生成了中文名;未命中则是随机生成

image.png

2、在响应期望中应用

image.png

image.png

3、在body入参中应用

image.png

image.png

image.png