我想使用 json 模式检查来自 GET/birds 请求的响应。在我的功能中:
* def abs = read (birds.json)
* match response == abs.birdsSchema
我需要将架构放在 json 文件中,而不是放在功能中。我必须根据性别检查其他值。例如:如果性别是男性,则检查颜色是蓝色,尾巴是长还是短。如果性别是女性,则检查“唱歌”是真是假以及鸡蛋的数量。
所以我输入了birds.json:
"birdsSchema":{
"id": "#string",
"owner": "#number",
"town": "#? _ == 'New York' || _ == 'Washington'",
"type": "object",
"oneOf": [
{
"properties": {
"gender": {"enum": ["male"]},
"color":"blue",
"tail": "#? _ == 'long' || _ == 'short'"
}
},
{
"properties": {
"gender": {"enum": ["female"]},
"sings" : "#? _ == true || _ == false"
"eggs": "##number"
}
}
]
}
但它不起作用。错误:com.intuit.karate.exception.KarateException:路径:$[0].type,实际:'female',预期:'object',原因:不相等。如何在我的 json 文件中进行此条件检查?