在空手道中有什么方法可以检查如果任何值作为空字符串出现,那么响应中的其他键不应该出现-
例如,如果您看到下面的示例json响应,其中一个结果[*]。说明[*]. text
为空,并且在同一节点上预览结果[*]。source.preview
不存在
所以,空手道中任何直接的解决方案都可以检查是否有描述。文本为“”
,则预览不应出现在该节点上
{
"total": 10,
"count": 10,
"results": [
{
"id": "1",
"source": {
"type": "general",
"Description": [
{
"text": ""
}
]
}
},
{
"id": "2",
"source": {
"type": "general",
"preview": "Your name",
"Description": [
{
"text": "Your name is Karate"
}
]
}
}
]
}
干得好。如果有任何不清楚的地方,请阅读文档:
* def isValid = function(x){ var desc = x.source.Description[0].text; return desc === '' ? !x.preview : true }
* match each response.results == '#? isValid(_)'
我有下面的xml响应,我需要使用空手道断言“result”值 我能够获取“值”对象的数据,但不能获取“结果”元素的数据。
我得到的异常显示为“path$.result.(#value)actual:null应为{firstName:'#string'lastName:'#string'}”
我有一个类型为的变量 在一个函数中,我检查它是否为,并希望以后使用它,而不必每次调用都必须。例如,在Kotlin中,IDE识别这样的检查,并在之后断言变量不能为。在C#中有这样的方法吗? 编辑:
SOAP响应当前是从预期文件断言的。 有没有办法排除一些动态的字段? 断言失败:路径/soap:header/soap:time
在下面的json有效负载中,我如何通过空手道断言D节点不在响应中。
我有以下API响应样本 根据上面的回答,我的测试表明,每当我点击API请求时,第11个ID是SMITH,第10个ID是JAMES 所以我想把它存储在一个表中,并根据实际的响应进行断言 现在我该如何一个接一个地匹配?与first类似,它解析API响应中的第一个ID和第一个名称,并与表first ID和表first name匹配 请分享从空手道做它的任何方便的方式