Тестирование API Каратэ - способ проверить, что в значении ответа нет нуля - PullRequest
2 голосов
/ 08 марта 2019

У меня огромное тело ответа, которое выглядит примерно так: оно появляется для одного запроса (например: dept = 123):

{
"id":"7202",
"employee_name":"sammmmmmmmm",
"employee_salary":"6777",
"employee_age":"7",
"profile_image":""
}

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

Я хочу выполнить эту проверку за один раз.Есть ли способ, с помощью которого мы можем проверить его в одну или две строки с минимальным кодом?

Примечание. Этот список столбцов не является фиксированным.Когда мы меняем идентификатор dept, ответ меняется с другим набором столбцов.И мы должны подтвердить это с 10-15 различными идентификаторами отделов.

1 Ответ

1 голос
/ 08 марта 2019

Вы можете использовать karate.forEach(k, v), который будет обрабатывать каждую пару ключ-значение.

* def nullFound = false
* def fun = function(k, v){ if (!k) karate.set('nullFound', true) }
* eval karate.forEach(response, fun)
* match nullFound == false
...