Karate 路径中缺少属性,json架构空手道
我试图用空手道json模式验证来验证json响应。我已经在很多方面使用过它很多次了,在这个简单的例子中,我无法理解哪里出了问题。以下是我得到的答复:Karate 路径中缺少属性,json架构空手道,karate,Karate,我试图用空手道json模式验证来验证json响应。我已经在很多方面使用过它很多次了,在这个简单的例子中,我无法理解哪里出了问题。以下是我得到的答复: * def response = """ [{ "id" : "1111", "surname" : "Debby", "name" : "Johns", "status" : "MARRIED", "rooms" : [{ "number" : "2", "state" : "clean", "owner"
* def response =
"""
[{
"id" : "1111",
"surname" : "Debby",
"name" : "Johns",
"status" : "MARRIED",
"rooms" : [{
"number" : "2",
"state" : "clean",
"owner" : {
"name" : "Mrs Johns",
"address" : "New York",
"birth_date" : 1555493518,
"birth_place" : "Jersey",
"phone_number" : "078******1"
},
"keys" : [{
"id" : "aaa",
"color" : "blue"
}]
}],
"creation_date" : 1555493458,
"left" : false
}]
"""
下面是模式:
* def ownerSchema =
"""
{
name: '#string',
address: '##string',
birth_date: '##number',
birth_place: '##string',
phone_number: '##string'
}
"""
* def keySchema =
"""
{
id: '#string',
color: '#string'
}
"""
* def roomSchema =
"""
{
number: '#string',
state: '#string',
owner: "#('##(ownerSchema)')",
keys: '##[] keySchema'
}
"""
* def clientSchema =
"""
{
id: '#string',
surname: '##string',
name: '#string',
status: '#string',
creation_date: '#number',
left: '#boolean',
rooms: '#[] roomSchema'
}
"""
当我尝试验证它时:
*匹配每个响应==clientSchema
错误是:路径$[0]['rooms'中缺少属性
这让我抓狂,我不知道。这将在0.9.2版以后生效。这将在0.9.2版以后生效。我完全复制了你的代码,它对我有效。你用的是哪个版本?哦,对不起,我忘记写了,我用的是0.6.1。我已经把它改成了0.9.2,它还可以工作。我之前没有更新空手道,因为还有一个问题,但是如果我没有找到回复,我会在另一篇帖子中询问。谢谢@Adrien@nirind:你可以回答你自己的问题,这样解决办法就更明显了。鼓励你!我完全复制了你的代码,它对我很有用。你用的是哪个版本?哦,对不起,我忘记写了,我用的是0.6.1。我已经把它改成了0.9.2,它还可以工作。我之前没有更新空手道,因为还有一个问题,但是如果我没有找到回复,我会在另一篇帖子中询问。谢谢@Adrien@nirind:你可以回答你自己的问题,这样解决办法就更明显了。鼓励你!