Karate — как проверить, содержит ли массив значения?

#arrays #cucumber #karate

#массивы #cucumber #karate

Вопрос:

Учитывая

Я определил массив

  * def array = [ 
     {"code": "codeA", "boolValue": false, "a": 5, "c": false}, 
     {"code": "codeA", "boolValue": true, "a": 7, "c": true},
     {"code": "codeB", "boolValue": true, "a": 1, "c": false}
   ]
  

И переменная

  * def expected = { "code": "codeB", "boolValue": true }
  

Проблемы

В последнем элементе array есть expected значение. Но он содержит некоторые дополнительные значения, и именно поэтому он терпел неудачу все время, когда я пытаюсь это проверить.

Как проверить, содержит ли массив ожидаемые?

Ответ №1:

Это будет работать в 0.9.6.RC4:

 * match array contains deep expected
  

В предыдущих версиях:

 * match array contains '#(^expected)'
  

Пожалуйста, прочитайте документы:https://github.com/intuit/karate/tree/develop#schema-validation