Почтальон: более подробное сообщение об ошибке проверки 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" }