Как проверить подстроку в поле в массиве на основе условия - PullRequest
0 голосов
/ 06 декабря 2018

Всегда есть несколько способов сделать что-то в каратэ, и это то, что я смог придумать, но то, что я пытаюсь сделать, к сожалению, тоже не работает.Был бы признателен за альтернативный подход.

Теперь мы хотим, чтобы у нас был ответ, который является массивом, а затем мы хотим проверить только для определенных полей, где на основе значения id строка события будет другой, и мынеобходимо проверить подстроку в событии для этого конкретного идентификатора.

Первый пример работает, поскольку он проверяет не подстроку, а полную строку.Второй сценарий не работает, где я делаю регулярное выражение для подстроки, чтобы соответствовать.Есть ли другой альтернативный способ сделать это, если это не поддерживается?

Сценарий: сопоставление полных строковых произведений ( Работа )

* def response = [{id:1 , "event":"some data abc something"},{id:2 , "event":"some xyz something"},{id:3 , "event":"some 123 something"},{id:4 , "event":"some 567 something"}]

* def verify = [{id:2, "event" : "some xyz something"},{id:4, "event" : "some 567 something"}]

* match response contains verify

Сценарий: сопоставление с помощью регулярных выражений не работает для проверки подстроки ( Не работает )

  * def response = [{id:1 , "event":"some data abc something"},{id:2 , "event":"some xyz something"},{id:3 , "event":"some 123 something"},{id:4 , "event":"some 567 something"}]

  * def verify = [{id:2, "event" : "#regex (?i)(xyz)"},{id:4, "event" : "#regex (?i)(567)"}]

  * match response contains verify

1 Ответ

0 голосов
/ 06 декабря 2018

Попробуйте это:

* def verify = [{id:2, "event" : "#regex (?i).*xyz.*"},{id:4, "event" : "#regex (?i).*567.*"}]
...