t.me/atinfo_chat Telegram группа по автоматизации тестирования

Json Schema (Postman) проверка на то что добавилось либо удалилось поле

Теги: #<Tag:0x00007f748a9be3c0> #<Tag:0x00007f748a9be2d0>

Есть такой код

var jsonData = JSON.parse(responseBody);
tests["success"] = jsonData.success === true;
const shema ={

  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "success": {
      "type": "boolean"
    },
    "message": {
      "type": "string"
    },
    "time": {
      "type": "integer"
    },
    "data": {
      "type": "object",
      "properties": {
        "timeout": {
          "type": "integer"
        }
      },
      "required": [
        "timeout"
      ]
    }
  },
  "required": [
    "success",
    "message",
    "time",
    "data"
  ]
};

pm.test('Schema Valid', () => {
    var carrier = JSON.parse(responseBody); 
    pm.expect(tv4.validate(carrier, shema)).to.be.true
})

если менять тип вместо string поставить int тест упадет , но если я удаляю поле

 " "success": {
      "type": "boolean"
    }," 

тест все равно показывает pass

Мой ответ

({
    "success": true,
    "message": "User needs verification",
    "time": 1563347668,
    "data": {
        "timeout": 30
    }
})