Я провел много тестов, но не могу найти способ решить эту проблему. Для упрощения у меня есть этот тестовый скрипт Postman для проверки того, что ответ JSON соответствует схеме JSON, определенной для этого API:
const stockQuotesSchema = JSON.parse(pm.environment.get("schema"));
pm.test("Stock quote returns 200 OK", function () {
pm.response.to.have.status(200);
})
pm.test("Stock quote is JSON", function () {
pm.response.to.be.json;
})
pm.test("Stock quote response matches schema", function () {
const validationResult = tv4.validateResult(pm.response.json(), stockQuotesSchema);
pm.expect(validationResult.valid).to.be.true;
})
Это определенная (упрощенная) схема API:
{
"codexxx": "UNAUTHENTICATED",
"messagexxx": "token expired"
}
Это ответ, который я получаю после выполнения запроса:
{
"code": "UNAUTHENTICATED",
"message": "token expired"
}
Поскольку поля «код» и «сообщение» не существуют в схеме, я надеюсь получить FAIL, но я всегда получаю True.
Это изображение результата Postman
Мне нужно проверять каждый ответ длинной схемой JSON (я имею в виду схему большего размера, чем в приведенном выше примере). Любая идея? Спасибо.