使用空手道框架,我如何确保persons数组下的personId不应作为重复值出现
如果您看到下面的响应,id: 1记录有重复的个人ID,因此在这种情况下,我的测试应该失败。此外,人数组本质上是动态的,可能有一些记录也包含4个人以上。
因此,一个通用的方法应该是有帮助的。请帮忙。
{
"total": 10,
"count": 10,
"results": [
{
"id": "1",
"source": {
"authors": {
"persons": [
{
"personId": 11
},
{
"personId": 11
}
]
}
}
},
{
"id": "2",
"source": {
"authors": {
"persons": [
{
"personId": 11
},
{
"personId": 15
}
]
}
}
}
]
}
在这里,一个可能的解决方案使用JS函数和使用JavaSet
:
* def isValid =
"""
function(x) {
var personIds = karate.jsonPath(x, '$[*].personId');
var distinct = new java.util.HashSet(personIds);
return personIds.size() == distinct.size();
}
"""
* match each $..persons == '#? isValid(_)'
我可以有一个回应: 如果用户没有狗 或者 如果用户有狗。 在我的特写中,我有: prb是指如果我有一个没有狗的用户响应,我有以下错误: 如何检查模式中的属性“dog”?谢谢
以下是我的示例功能文件: 有没有一种方法可以使用空手道表达式检查状态是主动还是不主动? 注意:它肯定可以通过编写托管JS函数来实现。
我下面有这些代码,如何检查是否为空? 如果我将,它显示此[] 如何检查数组是否为空,然后显示消息“This is empty”? 我试过了,但效果不好。即使它大于或小于0,也将始终显示“2”
问题内容: 我有一个Array类型的PHP变量,我想找出它是否包含特定值,并让用户知道它在那里。这是我的数组: 我想做些类似的事情: 最好的方法是什么? 问题答案: 使用功能。
如果列表中的值存在于其中一个dataframe列中,我需要迭代列表并执行特定操作。我试着按照下面的方法做,但发现了下面的错误 '错误:#序列的真值不明确。使用a.empty、a.bool()、a.item()、a.any()或a.all() 所需输出:
样本响应 示例要素文件 有没有办法用空手道表情来检查状态是活动的还是不活动的? 注意:可以通过编写自定义JS函数来实现。