Я бы не рекомендовал , если еще в тестовом случае Почтальона. Почтальон имеет встроенную функцию для проверки схемы, вы можете использовать ее и достичь того же результата без каких-либо других действий.
Во-первых, я рассматриваю в качестве ответа следующее:
{
"demo": [{
"id": 68214,
"specializationId": 286,
"name": "Radiology",
"parentName": null,
"primary": true
}]
}
Тест почтальона должен быть следующим:
var Ajv = require('ajv'),
ajv = new Ajv({logger: console}),
schema = {
"properties": {
"parentName": {
"type":["string", "null"]
}
}
};
pm.test('Verify parentName is string', function() {
var resParentName = pm.response.json().demo[0].parentName;
pm.expect(ajv.validate(schema, {parentName: resParentName})).to.be.true;
});
Редактировать: Проверить полностьюответ, а не только первый пункт. Также проверьте, присутствует ли parentName
в ответе или нет.
var Ajv = require('ajv'),
ajv = new Ajv({logger: console}),
schema = {
"properties": {
"demo":{
"type": "array",
"items": {
"properties": {
"id":{ "type": "integer" },
"specializationId":{ "type": "integer" },
"name":{"type": "string"},
"parentName":{
"type":["string", "null"]
},
"primary":{"type": "boolean"}
},
"required": [ "parentName"]
}
}
}
};
pm.test('Validate response', function() {
pm.expect(ajv.validate(schema, pm.response.json())).to.be.true;
});