我无法使用 jsonSchema 验证邮递员中任何对象的响应

I can't validate response with jsonSchema for anyOf objects in postman

我想用 Postman 中的模式验证即将到来的响应。我正在使用 jsonSchema。但是我不能在架构中使用任何参数。例如我在 schema

中有一个对象
"rmState":{
    "anyOf": [
        {
            "type": "string",
            "enum": [
                "REGISTERED",
                "DEREGISTERED"
            ]
        },
        {
            "type": "string"
        }
    ]
}

我希望 rmState 只能有这个枚举参数。但是当我验证响应时 pm.response.to.have.jsonSchema(schema); 验证通过,即使 rmState 从 enum.Validation 获得任何其他字符串,只有当我将 rmState 更改为 int 时才会失败。此验证我缺少什么?感谢您的帮助。

您正在检查它是否是具有任何枚举值的字符串或字符串。所以它匹配所有字符串。我不明白你为什么需要 anyOf