【发布时间】:2020-02-21 01:56:43
【问题描述】:
我有以下代码
* def cat =
"""
{
kittens: [
{
id: 23,
name: 'Bob'
},
{
id: 42,
name: 'Wild'
}
]
}
"""
* def id = {id: 23}
我正在尝试关注Karate contains and all key-values did not match error 来解决所有键值不匹配错误 这就是我所拥有的
* match cat == {kittens: '#(^id)'}
* match cat contains {kittens: '#(^id)'}
但我收到以下错误
com.intuit.karate.exception.KarateException: - 路径: $, 实际: {kittens=[{"id":23,"name":"Bob"},{"id":42,"name" :"Wild"}]},预期:{kittens=#(^id)},原因:所有键值都不匹配
现在我为每只小猫添加了另一个颜色字段:
* def cat =
"""
{
kittens: [
{
id: 23,
colour: 'black',
name: 'Bob'
},
{
id: 42,
colour: 'grey',
name: 'Wild'
}
]
}
"""
* def id = {id: 23, name: 'Bob'}
使用提供的答案cat.kittens contains '#(^id)' 仍然有效。
另一种方法是
* def id = {id: 23, colour: '#number', name: 'Bob'}
选项 1 更好,因为您不需要指定颜色:'#number'。
【问题讨论】:
标签: karate