gpt4 book ai didi

karate - 当您不知道结构时如何验证 Karate 中的响应?

转载 作者:行者123 更新时间:2023-12-04 10:52:52 30 4
gpt4 key购买 nike

我正在尝试编写一些空手道测试来检查某些预期结构的响应。例如,有一个看起来像这样的对象:

{
'true|true':'disabled',
'true|false':'locked',
'false|false':'enabled',
'false|true':'disabled',
'default':'enabled'
}

但是,键和值可以是任何字符串。必须有一种方法来指定这一点,但我不知道如何以通用方式执行此操作。

本质上,我想测试的是 1)对象不为空,2)每个键和值都是一个字符串(不是对象,也不是空值)。

基本匹配如下所示:
* def objects = $fields..objects
And match each objects ==
"""
{
key1: '#? isString(_)',
key2: '#? isString(_)'
}
"""

看起来必须事先知道键的名称,所以可能匹配表达式不是测试这一点的合适方法。

最佳答案

您可以像这样提取所有键:

* def keys = karate.keysOf(object)

所以一旦你有了它,你就在做生意:
* def foo = { a: 1, b: 2 }
* def keys = karate.keysOf(foo)
* match each keys == '#string'
* assert keys.length > 0

有关其他想法,请参阅 JSON 转换,例如 karate.forEach() : https://github.com/intuit/karate#json-transforms

关于karate - 当您不知道结构时如何验证 Karate 中的响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59383744/

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