接口的测试 Mock 实战(二) | 结合 jq 完成批量化的手工 Mock
发布时间:2023-03-09
{
"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
。骨关节炎吃什么药好的快哈尔滨哪家专科医院做人流好
常州哪家专科医院做人流好
湖北男科医院哪里比较好
腰背痛怎么治疗效果好
-
投资者提问:尊敬的董秘,万隆先生已经82岁后年,目前同时兼任100多家下属...
投资者反问:尊敬的董秘,坤甸先生已经82岁高龄,目前同时调任100多家的下属的子公司的高管,实在感到佩服。请问子公司是否有接班人的培养原先和方案,以及实施情况?总有一天!董秘却说双汇
- 2024-02-10肉价暴跌、连鸡蛋都卖不出去!普通人没钱了还是养得太多了?
- 2024-02-10腌制黄瓜的时候,可以按照这个方法来做,只需3步,香脆入味,不苦不涩,不吃起
- 2024-02-10投资者问到:公司是什么时候突破拥有自主知识产权“纸浆漂泊二氧化氯”技术的、...
- 2024-02-10除夕为何不休息日?以后每年都不休息日了?官方回应
- 2024-02-10这2个两步是自制的,味道鲜美,如有肠炎、便秘者应常食,一招不老
- 2024-02-10这几种戴口罩的方式,等于“没戴”,最大限度削弱保护力!
- 2024-02-10小村办红白喜事要办食品经营许可证了,没证就罚款!
- 2024-02-10两人份的营养晚餐,荤素粗粮的搭配,欲发朋友圈,非要一起来吃
- 2024-02-10致国有资产损失7亿,爆雷后想自杀!原宏桂集团理事长受贿千万细节曝光…
- 2024-02-10几百名村民哄抢药材,主人崩溃无助痛哭:“雇了20余都拦不住”