ChaiJS jsonSchema проверяет наличие нескольких типов

#javascript #postman #schema #chai

Вопрос:

В моем Чай-тесте (использую его для почтальона) Я хочу проверить свой дизайн API-ответа. Для этого я написал Чай-тест:

 pm.test("Check response schema", () => {
    const schema = {
        "type": "object",
        "properties": {
            "success": { "type": "boolean" },
            "data": { "type": "object" },
            "err": { "type": "object" },
            "info": { "type": "string" }
        },
        "required": ["success", "data", "err", "info"]
    }
    pm.response.to.have.jsonSchema(schema)
})
 

Моя проблема сейчас в том, что либо data объект, либо err объект определяется в зависимости от того, был ли запрос к API успешным или нет. Я хотел добиться этого, используя два типа для data и err : объект И null. Итак, как я могу проверить наличие двух типов с помощью jsonSchema? Или есть другой и лучший способ сделать это?

Ответ №1:

Ты можешь это сделать:

 "data": { "type": ["object", "null"] },
"err": { "type": ["object", "null"] }