Вопрос:

Как проверить схему JSON в почтальоне, используя tv4?

postman tv4

4479 просмотра

1 ответ

916 Репутация автора

Это то, что я пытаюсь, но он всегда проходит тест даже на плохие результаты.

pm.test("Schema is valid", function () {
    var data = pm.response.json();
    var schema = {
        ...
        my schema
        ...
    };
    tv4.validate(data, schema);
});
Автор: srayner Источник Размещён: 04.01.2018 03:33

Ответы (1)


7 плюса

360 Репутация автора

Причина, по которой это не работает, заключается в том, что базовая библиотека, используемая Почтальоном (tv4), больше не поддерживается. Столкнувшись с проблемой сегодня утром, я нашел решение :

tv4.validate(data, schema, false, true)

Последние два параметра - это checkRecursive и banUnknownProperties . Установка этих двух флагов, как показано выше, делает проверку правильной.

Вы также можете найти этот фрагмент кода полезным, который сообщает о любых ошибках проверки через консоль:

pm.test("Response body is valid", function() {
  var data = JSON.parse(responseBody);
  var valid = tv4.validate(data, schema, false, true);
  if (valid !== true) {
      console.log(tv4.error);
  }
  pm.expect(valid).to.be.true;
});
Автор: Justin Finkelstein Размещён: 24.01.2018 03:16
Вопросы из категории :
32x32