当前位置:首页 >> 中医保健 >> 接口的测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock

接口的测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock

发布时间:2023-03-09

itles[]}'

{

"user": "stedolan",

"title": "JQ Primer"

}

{

"user": "stedolan",

"title": "More JQ"

}

如果key是不普遍存在的,value将则会变幅度为null

$ echo '{"user":"stedolan","titles":["JQ Primer", "More JQ"]}' |jq '{user111, title: .titles[]}'

{

"user111": null,

"title": "JQ Primer"

}

{

"user111": null,

"title": "More JQ"

}

如果再键的一处加括号就意味着它将作为表达式开展计算。

$ echo '{"user":"stedolan","titles":["JQ Primer", "More JQ"]}' |jq '{(.user): .titles[]}'

{

"stedolan": "JQ Primer"

}

{

"stedolan": "More JQ"

}

其他常见词汇:

计算

echo "10" | jq '(.+2)*5'

echo null | jq '{a: 1} + {b: 2} + {c: 3} + {a: 42}'

echo '["xml", "yaml", "json"]' | jq '. - ["xml"]'

echo '{"a":5}' | jq ‘.a+=10'

得到长度

echo '[[1,2], "string", {"a":2}, null]' | jq '.[] | length’

信息结构GPU 这里要值得注意介绍一下信息结构的GPU可用,也是下面实现目标的方法

jq 对于信息结构可以有并集(’+’)和差集(’-’)的可用:

并集('+'):有信息结构a,b; a+b就则会给予一个包含所有a,b信息结构特性的从新信息结构:

$ echo '{"a": [1,2,3] ,"b": [3,4,5]}' | jq '.a+.b'

[

1,

2,

3,

3,

4,

5

]

差集('-'):有信息结构a,b; a-b就则会给予一个只包含a中特性,不包含b中特性的从新信息结构:

$ echo '{"a": [1,2,3] ,"b": [3,4,5]}' | jq '.a-.b'

[

1,

2

]

越来越多词汇

越来越多词汇可简介Facebook:

#Basicfilters

3、Mock 实现

3.1 实现目标

如下图中的科普推荐娱乐节目除此以外 2 则科普发表文章,以前想要mock几十甚至上百篇发表文章或的广告。

3.2 信息马上

短时间内终端的自发json报文如下:

{

"code": 1,

"msg": null,

"data": {

"pageNumber": 0,

"pageSize": 10,

"totalElements": 12,

"totalPages": 2,

"pageList": [{

"id": 18,

"title": "老年痴呆症有哪些伤害?",

"type": "patient",

"img": "_700_360.png",

"content": ""

}, {

"id": 17,

"title": "你了解到老年痴呆是如何确诊的嘛?",

"type": "patient",

"img": "_700_360.png",

"content": ""

}]

}

}

我们将信息存入json邮件中,然后变幅度给一个变幅度

$ mockData=$(cat /tmp/guanggao.json)

$ echo "$mockData"

{

"code": 1,

"msg": null,

"data": {

"pageNumber": 0,

"pageSize": 10,

"totalElements": 12,

"totalPages": 2,

"pageList": [{

"id": 18,

"title": "老年痴呆症有哪些伤害?",

"type": "patient",

"img": "_700_360.png",

"content": ""

}, {

"id": 17,

"title": "你了解到老年痴呆是如何确诊的嘛?",

"type": "patient",

"img": "_700_360.png",

"content": ""

}]

}

}

然后我们来进行jq对pageList中的此表开展+=可用,开展一次翻加倍加,将结果传给变幅度mockData。 这里加到的是jq对信息结构的并集(‘+’)GPU,两个信息结构相加,之后给予一个包含两个信息结构所有特性的从新信息结构。

mockData=$(echo "$mockData" | jq '.data.pageList+=.data.pageList')

$ echo "$mockData"

{

"code": 1,

"msg": null,

"data": {

"pageNumber": 0,

"pageSize": 10,

"totalElements": 12,

"totalPages": 2,

"pageList": [

{

"id": 18,

"title": "老年痴呆症有哪些伤害?",

"type": "patient",

"img": "_700_360.png",

"content": ""

},

{

"id": 17,

"title": "你了解到老年痴呆是如何确诊的嘛?",

"type": "patient",

"img": "_700_360.png",

"content": ""

},

{

"id": 18,

"title": "老年痴呆症有哪些伤害?",

"type": "patient",

"img": "_700_360.png",

"content": ""

},

{

"id": 17,

"title": "你了解到老年痴呆是如何确诊的嘛?",

"type": "patient",

"img": "_700_360.png",

"content": ""

}

]

}

}

按照上述的方法,每次此表的特性倍数都则会翻倍,也就是可用n次就替换成2的n次方倍,指数增加的速度就无需多感叹了~

这样根据自己的需要给予信息后将从新信息存入json邮件,关键的信息马上步骤也就开展了:

$ echo "$mockData"> /tmp/MockTest.json

3.3 Charles 的 Mock 实现

感叹了这么多“所谓”,好在是到了主角了,却是信息马上了,广泛应用软件的常用还是很简便的,Charles有一个称做Map Local的功能,在你要mock的催促上右击就可找寻:

Map Local可以对指定的终端送回常用本地邮件开展替换成,如这里替换视为上出处所谓半天分解的信息邮件MockTest.json:

然后其后刷从新关键词,想想精准度,关键词的此表就如愿加倍了,也无需去信息库添加信息,保存一份json邮件即测定即用方能:

以上,期待大家两兄弟交流,多多指正。

⬇️ 激活“底部元数据”,提升飞行测定试核心竞争力!

>>越来越多系统设计发表文章社交和免费资料补发 赞赏+V~ ceshiren001

_id=qrcodeCofrom=souhuCotimestamp=1651713637

骨关节炎吃什么药好的快
哈尔滨哪家专科医院做人流好
常州哪家专科医院做人流好
湖北男科医院哪里比较好
腰背痛怎么治疗效果好
标签:
友情链接: