Для моего тестового примера мне нужно ввести данные как из файла json, так и из другого файла функций (который, в свою очередь, содержит соединение с БД и возвращает данные из БД). Если в файле json указано значение null, код должен вызвать файл DB.feature и вернуть данные. Если это данные, заполненные в json-файле, тогда код должен уловить это и игнорировать вызов DB.feature.
Для этого я использую образец файла Test.json, из которого я беру данные.
{
"data": [
{"service": null}
]
}
А вот пример кода с условиями;
* json data = call read ('classpath:PP1/data/Test.json')
* def service = data.data[0].service
* def data = service == null ? 'ABC' : karate.callSingle('classpath:PP/Features/Service.feature')
* def Svc = data.response.serviceResponse.service
* print Svc
Теперь это работает, если service не равно нулю в файле json. Если service имеет значение null, запуск завершается неудачно, поскольку он не может найти data.response.serviceResponse.service
(именно там мои данные находятся в ответе из файла Service.feature).
Я не знаю, как этого добиться. Может ли кто-нибудь предложить?