Karate 断言错误-无法将java.lang.String强制转换为java.util.List

Karate 断言错误-无法将java.lang.String强制转换为java.util.List,karate,Karate,在进行断言时获取错误 field1是来自DB的值,我想将它们与field2匹配(来自响应xml的值) 字段2是以下操作的结果 * def field2 = get Response SOME_XML_XPATH 它可能包含值列表中的单个值,如 field2=19.2或field2=[“188.3”、“281.11”] 问题是当我尝试比较两个类似列表的字段时 field1=[1850700,30]field2=[“1850.0”、“30.0”、“700.0”] 为了解决这个问题,我使用了下面的代

在进行断言时获取错误

field1
是来自DB的值,我想将它们与
field2
匹配(来自响应xml的值)

字段2是以下操作的结果

* def field2 = get Response SOME_XML_XPATH
它可能包含值列表中的单个值,如
field2=19.2
field2=[“188.3”、“281.11”]

问题是当我尝试比较两个类似列表的字段时
field1=[1850700,30]field2=[“1850.0”、“30.0”、“700.0”]
为了解决这个问题,我使用了下面的代码

* def field1 = [1850, 700, 30]
* def field2 = ["1850.0","30.0","700.0"]
* def field3 = karate.map(field2, function(x){ return ~~x })
* match field1 contains only field3
但是,当
field2
是单个值,并且我想将其与
field1
匹配时,我得到以下错误

无法将java.lang.String强制转换为java.util.List


请阅读文件。有一种叫做
的东西包含


让我重申我的问题目标——验证响应xml中的所有字段值和数据库中相同字段的值。示例field1_db是来自db的值,我想将它们与field1_响应(来自响应xml的值)*def field1_db=get TABLE[*]匹配。列field1_响应是以下操作的结果*def field1_response=karate.get(“$response/Field_xml_XPATH”)问题–数据类型更改(整数字符串)当字段包含单个值或多个值时。考虑下面站点的示例,将其视为响应XML,我想从DB和响应匹配验证价格字段。价格字段是4个值的列表[30,299,499,35.95]。在其他情况下,响应可能包含1个值,比如30。在我的例子中,当字段包含值列表且其数据类型为字符串时,当它包含单个值时,它将变为整数,反之亦然,这会导致断言出现问题。下面是我的字段列表及其返回数据类型,当字段为单值/多值时,我如何在空手道中处理此问题?@Karate_user您可以随意评论,但除非您的问题明确,否则没有人可以帮助您。一切都好:)投票结束,因为范围太广。绝对不是MCVE
* def field1 = [1850, 700, 30]
* def field2 = ["1850.0","30.0","700.0"]
* def field3 = karate.map(field2, function(x){ return ~~x })
* match field1 contains only field3
* def field1 = [1850, 700, 30]
* def field2 = "30.0"
* def field2 = ~~field2
* match field1 contains field2