Почтальон: более подробное сообщение об ошибке проверки tv4

Я использую почтальон для проверки схемы данных JSON, возвращаемых из API.

У меня есть тест, который проходит базовую проверку HTTP, а затем заканчивается:

if (tv4.error){
    console.log("Validation failed: ", tv4.error);
}

Ошибка, которую я получаю, трудно понять.

Проверка не удалась: 12:22:41.316
Объект:{}
сообщение: "Неверный тип: число (ожидаемая строка)"
Название:"ValidationError"
Тип: "Ошибка"

Но мне нужно знать, на каком поле валидации не удалось. Как я могу получить эту информацию? Страница npm для tv4 предполагает, что сообщение об ошибке должно быть более информативным.

1 ответ

В соответствии с документацией TV4, вы можете распечатать путь местоположения ошибки, используя console.log(tv4.error.dataPath)Я понятия не имею, почему этот атрибут не зарегистрирован в консоли.

Документация здесь. Соответствующий раздел в документации:

Если валидация возвращает false, объяснение причины неудачной валидации можно найти в tv4.error.

Объект ошибки будет выглядеть примерно так:

{
    "code": 0,
    "message": "Invalid type: string",
    "dataPath": "/intKey",
    "schemaPath": "/properties/intKey/type"
}
Другие вопросы по тегам