【发布时间】:2020-07-24 11:24:43
【问题描述】:
我有这个功能:
Given path 'group/'
When method get
Then status 200
And match response.group[*].name contains [ 'group1' ] #Works
And match response.group[?(@.name == 'group1')].name contains [ 'group1' ] #Does not work
这是group/端点的响应:
{
"group": [
{
"name": "group1",
"id": 1
},
{
"name": "group2",
"id": 2
}
]
}
我收到此错误:
groups.groups: groups.feature:35 - evaluation (js) failed: 'group1')].name contains [ 'group1' ], <eval>:1:8 Expected ; but found )
'group1')].name contains [ 'group1' ]
^ in <eval> at line number 1 at column number 8
我检查了https://github.com/json-path/JsonPath#path-examples 中的语法,似乎没问题。
提前致谢。
已编辑:非工作表达式只是保持问题简单的一个示例。实际上,我想从列表中获取整个组,这样我就可以比较 id 等其他字段,并使用我无法与 contains 一起使用的模糊匹配器:
And match response.group[?(@.name == 'group1')][0] ==
"""
{
"name": "group1",
"id": #notnull
}
"""
【问题讨论】:
标签: karate