Содержит не работает в каждой json арарии Каратэ - PullRequest
0 голосов
/ 06 августа 2020

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

* def schema = {"category": "reference","author": "Nigel Rees","title": "Sayings of the Century", "price": 8.95}
* def bookdetails= $api.store.book[*]
* match bookdetails contains schema  

                     
                            
  Json:                     
        {
                "store": {
                    "book": [
                        {
                            "category": "reference",
                            "author": "Nigel Rees",
                            "title": "Sayings of the Century",
                            "price": 8.95
                        }],
                        [{
                            "category": "fiction",
                            "author": "Evelyn Waugh",
                            "title": "Sword of Honour",
                            "price": 12.99
                        },
    {
                            "category": "reference",
                            "author": "Nigel Rees",
                            "title": "Sayings of the Century",
                            "price": 8.95
                        }]}}

1 Ответ

1 голос
/ 07 августа 2020

Поскольку вы новичок в переполнении стека, прочтите следующее, чтобы получить помощь:

{ ссылка } { ссылка }

json в вопросе неправильно сформирован и не является действительным json. Следующий пример кода работает:

Feature: Match

Scenario: Match

* def api = 
"""
      {
              "store": {
                  "book": [
                      {
                          "category": "reference",
                          "author": "Nigel Rees",
                          "title": "Sayings of the Century",
                          "price": 8.95
                      },
                      {
                          "category": "fiction",
                          "author": "Evelyn Waugh",
                          "title": "Sword of Honour",
                          "price": 12.99
                      },
                      {
                          "category": "reference",
                          "author": "Nigel Rees",
                          "title": "Sayings of the Century",
                          "price": 8.95
                      }
                      ]
                      }
       }
"""

* def schema = {"category": "reference","author": "Nigel Rees","title": "Sayings of the Century", "price": 8.95}

* def bookdetails = $api.store.book[*]

* match bookdetails contains schema
...