【发布时间】:2022-02-22 00:12:11
【问题描述】:
回复:
[
{
"key1":78,
"key2":"value2",
"key3": {
"obj.key1":"objValue1",
"obj.key2":1236527454,
}
},
{
"key1":89,
"key2":"value2",
"key3": {
"obj.key1":"objValue1",
"obj.key2":9885546755,
}
}
]
预期响应:
[
{
"key1":32,
"key2":"value2",
"key3": {
"obj.key1":"objValue1",
"obj.key2":8985436,
}
},
{
"key1":36,
"key2":"value2",
"key3": {
"obj.key1":"objValue1",
"obj.key2":655431,
}
}
]
key1、obj.key2 是动态值,在比较 JSON 的其余部分时需要忽略。
* match karate.filterKeys(response,['key1']) == karate.filterKeys(expectedResponse,['key1'])
它按预期工作,并在比较结果时忽略 key1。
* match karate.filterKeys(response,['key1','key3["obj.key2"]') == karate.filterKeys(expectedResponse,['key1','key3["obj.key2"]'])
以上抛出错误。我也试过使用:
* match karate.filterKeys(response,['key1',key3['obj.key2']) == karate.filterKeys(expectedResponse,['key1',key3['obj.key2']])
因为这通常是在空手道中使用特殊字符键的方式,但再次出现错误。
有人可以提供解决此问题的方法吗?
【问题讨论】: