我正在尝试验证具有嵌套的多个JSON对象的JSON。
例
Scenario: temp1
* def response1 =
"""
{
"productGroups": [
{
"dateLabel": "28 Aug, Wed",
"products": [
{
"id": 1439,
"product": "product 1"
},
{
"id": 1401,
"product": "product 2"
}
]
}
]
}
"""
* print response1.productGroups
Then match response1.productGroups[*] contains
"""
{
'dateLabel': #string,
'products': [
{
'id': #number,
'product': #string
}
]
}
"""
得到的回应
原因:实际值不包含预期值
如果我将验证更改为
Then match response1.productGroups[0] contains
得到的回应
原因:实际数组和预期数组的大小不同-2:1
我想做的是验证“ productGroups”对象的架构以及“ products”的内部对象
最佳答案
请花一些时间阅读文档,这是值得的:https://github.com/intuit/karate#schema-validation
* def product = { 'id': #number, 'product': #string }
Then match response1.productGroups[*] contains
"""
{
'dateLabel': #string,
'products': '#[] product'
}
"""