Postman中的嵌套JSON模式验证

时间:2018-07-17 06:38:02

标签: json validation nested schema postman

我想验证邮递员中的嵌套JSON模式

这是代码。

const testSchema = {
    "name": [
        {
            "first_name": "Alpha",
            "last_name": "Bravo"
        },
        {
            "first_name": "Charlie",
            "last_name": "Delta"
        },
    ],
    "age": "23",
    "color": "black"
};

const showData = { 
    "required": ["name", "age"],
    "properties": {
        "name": [
            {
                "required": ["first_name"]
            }
        ],
    },
};

pm.test("Nested Schema Test", function () {
    pm.expect(tv4.validate(testSchema, showData)).to.be.true;
});

当前,此代码以 true 返回测试。

我无法测试“名称” 数组对象的键

即使通过此操作

"required": ["fst_nae"] //wrong key name

它返回true。

2 个答案:

答案 0 :(得分:0)

我可以通过以下方式轻松进行检查:

pm.test("your name", function () {
   pm.expect(testSchema.name[0].first_name && testSchema.name[1].first_name
   ).to.eql('Alpha' && 'Charlie') 
});

,您就成功验证了这些字段 或使用此期望来组织您选择的代码

答案 1 :(得分:0)

微小的验证程序,即tv4.validate的库中有问题。另一种选择是使用AJV(您可以在github上搜索它)。