неподдерживаемый тип соответствия для строки: EACH_EQUALS - PullRequest
1 голос
/ 26 февраля 2020

Скопировано из 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>

И я понятия не имею, почему это не работает ...

1 Ответ

1 голос
/ 26 февраля 2020

each работает только над списком (или массивом), поэтому используйте двойную строку sh:

* 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, если вы действительно застряли: { ссылка }

...