Может кто-нибудь объяснить, как получить все несоответствие между двумя ответами в каратэ? - PullRequest
1 голос
/ 21 апреля 2020

Например, если у меня есть два JSON, как показано ниже, и я хочу проверить несоответствие между этими

Json 1:

{
  name:'john',
  contact:'123',
  country:'america'
}

Json 2:

{
  name:'vishal',
  contact:'123',
  country:'India'
}

Теперь он вернет мне несоответствие между именем и страной, а не только именем?

1 Ответ

2 голосов
/ 21 апреля 2020

Нет, это не поддерживается. Мы считаем, что в этом нет необходимости, потому что при ваших регулярных запусках CI вам важно только, если тест пройден или не пройден, и вы видите детали в журнале.

Также обратите внимание, что вы можете смоделировать это, если вы действительно хотите использовать a Scenario Outline: { ссылка }

Наконец, если вы так сильно заботитесь об этом, пожалуйста, добавьте код, в конце концов, это открытый исходный код.

РЕДАКТИРОВАТЬ: Вы можете легко сделать это, перебирая ключи. Вот код:

Feature:

Background:
* def json1 = { name: 'john', contact: '123', country: 'america' }
* def json2 = { name: 'vishal', contact: '123', country: 'India' }
* def keys = karate.keysOf(json1)
* def data = karate.mapWithKey(keys, 'key')

Scenario Outline: <key>
* match (json1[key]) == json2[key]

Examples:
| data |

А вот и отчет:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...