首页 > 解决方案 > 不支持的字符串匹配类型:EACH_EQUALS

问题描述

复制自https://github.com/intuit/karate/issues/1062

我收到此错误消息:

unsupported match type for string: EACH_EQUALS

对于这一步:

* match each response/list/cost/Rate == 0.920509

对于这个 xml:

<list>
    <cost>
        <Rate>#present</Rate> // contains 0.920509
    </cost>
    <cost>
        <Rate>#ignore</Rate>
    </cost>
</list>

而且我不知道为什么这不起作用...

标签: karate

解决方案


each仅对列表(或数组)进行操作,因此请使用双斜杠:

* def response =
"""
<list>
    <cost>
        <Rate>0.920509</Rate>
    </cost>
    <cost>
        <Rate>0.920509</Rate>
    </cost>
</list>
"""
* match //Rate == ['0.920509', '0.920509']

* def temp = //Rate
* match each temp == '0.920509'

这应该给你足够的提示来继续。

XML 可能很棘手,因此如果您真的卡住了,请将其转换为 JSON:https ://stackoverflow.com/a/59730093/143475


推荐阅读