#karate
Вопрос:
У меня есть следующий ответ, и я пытаюсь заменить деталь, если значок-url, т. е. заменить test.com чтобы prod.com.
[
{
"_": {
"name": "FA",
"icon-url": "https://test.com/static/images/air/partner.png"
},
"@": {
"code": "00"
}
},
{
"_": {
"name": "DA",
"icon-url": "https://test.com/static/images/air/partner.png"
},
"@": {
"code": "0D"
}
},
{
"_": {
"name": "JC",
"icon-url": "https://test.com/static/images/air/partner.png"
},
"@": {
"code": "0J"
}
},
{
"_": {
"name": "AG",
"icon-url": "https://test.com/static/images/air/partner.png"
},
"@": {
"code": "1A"
}
},
{
"_": {
"name": "AI",
"icon-url": "https://test.com/static/images/airline/partner.png"
},
"@": {
"code": "1B"
}
}]
Я попытался использовать следующую функцию, но это не работает:
* def iconurl = 'prod.com'
* def replaceEnv = function(x){ if (x['icon-url']) x['icon-url'] = x['icon-url'].replace('test.com', iconurl); return x }
* def convertedExpectation = karate.map(result, replaceEnv) // result refers to the response above
Пожалуйста, взгляните на код и объясните мне, что в нем не так.
Ответ №1:
Вот, пожалуйста, обратите внимание, что x._['icon-url']
это то же самое, что x['_']['icon-url']
* def fun = function(x){ var temp = x._['icon-url']; x._['icon-url'] = temp.replace('test.com', 'prod.com'); return x }
Комментарии:
1. Спасибо, Питер! Еще одно уточнение, пожалуйста. Я забыл упомянуть. что у меня есть переменная * def env. и я хочу поставить условие if в зависимости от env. Если вы предложите, я могу задать новый вопрос.
2. @user1873274 новые вопросы, пожалуйста