gpt4 book ai didi

enums - 如何使用模式验证 Karate 中的多个可能值

转载 作者:行者123 更新时间:2023-12-02 19:45:38 24 4
gpt4 key购买 nike

我目前正在使用 Swagger 架构,它为多个值定义枚举。我想知道如何针对我的傲慢文件做出回应。我想确保返回的响应值只是架构中指定的值之一(想想 Swagger 中的枚举)。如果响应中返回了架构内数组中未定义的任何其他内容,则测试应该失败。

如何使用以下方法实现此目的:

架构.json

{
"itemType":{
"hardware":[
"VIDEO CARD",
"SOLID STATE DRIVE",
"HARD DRIVE"
]
}
}

所有值都是可选的,并将以字符串值响应。

回应:

{
"itemType": {
"hardware": "HARD DRIVE"
}
}

我的猜测是,它可能类似于 * match response.itemType.hardware == "##string? _ == 'VIDEO CARD' || _ == 'SOLID STATE DRIVE' | | _ == 'HARD DRIVE'" 但我的语法可能不正确。

最佳答案

你可以试试这个:

* def schema = 
"""
{
"itemType":{
"hardware":[
"VIDEO CARD",
"SOLID STATE DRIVE",
"HARD DRIVE"
]
}
}
"""
* def response =
"""
{
"itemType": {
"hardware": "HARD DRIVE"
}
}
"""
* match response == { itemType: { hardware: '#? schema.itemType.hardware.contains(_)' } }
* def isValidHardware = function(x){ return schema.itemType.hardware.contains(x) }
* match response == { itemType: { hardware: '#? isValidHardware(_)' } }

关于enums - 如何使用模式验证 Karate 中的多个可能值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59307140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com