Проверка схемы JSON в Почтальоне - PullRequest
0 голосов
/ 23 апреля 2019

При использовании Почтальона я проверяю ответ JSON следующим образом:

tv4.addSchema(globalSchema);                
const valResult = tv4.validate(data, schema);

// schema is an object, which is a subschema from the larger globalSchema

, который работает нормально, за исключением сообщений об ошибках. Полученный мной объект ошибки отсутствует dataPath и schemaPath, что затрудняет моему пользователю выяснение, где находится настоящая проблема. Есть ли способ получить эти свойства? (пробовал validateResult и validateMultiple безрезультатно)

В качестве альтернативы я попробовал ajv, но, как и в проекте draft-04, он дает мне ошибки. Советы с их сайта

var ajv = new Ajv({schemaId: 'id'});
// If you want to use both draft-04 and draft-06/07 schemas:
// var ajv = new Ajv({schemaId: 'auto'});
ajv.addMetaSchema(require('ajv/lib/refs/json-schema-draft-04.json'));

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

Смотри также: https://community.getpostman.com/t/json-schema-validation-troubles/5024

1 Ответ

0 голосов
/ 12 июля 2019

Вот как я проверяю схемы с почтальоном, чтобы получить более подробные ошибки:

const schema = {
};

var jsonData = JSON.parse(responseBody);

pm.test('Checking Response Against Schema Validation', function() {
    var result=tv4.validateMultiple(jsonData, schema);
    console.log(result);
    pm.expect(result.valid).to.be.true;
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...