Karate 架构验证:特定值列表中的字符串
我有一个端点,其响应如下:Karate 架构验证:特定值列表中的字符串,karate,Karate,我有一个端点,其响应如下: { "id": 1, "status": "ACTIVE" } 状态的可能值如下:活动、非活动、已删除。 要检查架构,我尝试了以下操作: * def statusValues = ["ACTIVE", "INACTIVE", "DELETED" ] * def schema = """ { "id" : #number, "status" : '#(^*statusValues)' } """ 为了验证这一点,我使用了以下句子:
{
"id": 1,
"status": "ACTIVE"
}
状态的可能值如下:活动、非活动、已删除。
要检查架构,我尝试了以下操作:
* def statusValues = ["ACTIVE", "INACTIVE", "DELETED" ]
* def schema =
"""
{
"id" : #number,
"status" : '#(^*statusValues)'
}
"""
为了验证这一点,我使用了以下句子:
然后匹配response==schema
但它不起作用。这就是错误所在
实际:“活动”,预期:[“已删除”、“活动”、“非活动”],原因:
实际值与列表不同
你能帮我吗?这可能是最简单的选择:
* def isValidStatus = function(x){ return statusValues.contains(x) }
* def schema = { id: '#number', status: '#? isValidStatus(_)' }