Выбор ответа Middle API-автотесты обновлено
Сравнение с эталонным ответом
Вопрос
Тест сравнивает ответ целиком с сохранённым эталоном и падает каждый запуск. Почему, и как правильно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: В ответе есть меняющиеся поля (id, createdat), их исключают из сравнения. Генерируемые id, время и токены отличаются каждый раз.
Варианты ответа
- Эталон надо перезаписывать перед каждым запуском из текущего ответа
- В ответе есть меняющиеся поля (id, created_at), их исключают из сравненияправильный ответ
- Сравнивать ответы целиком нельзя: JSON не гарантирует порядок ключей в объекте
- Нужно сравнивать длину JSON-строки, а не содержимое, она стабильнее
Разбор
Генерируемые id, время и токены отличаются каждый раз. Их исключают или проверяют формат (UUID, ISO-дата), остальное сравнивают. Обновлять эталон каждый раз значит ничего не проверять, длина строки ничего не говорит о содержании, а сравнение целиком вполне законно при правильной фильтрации (порядок ключей нормальные библиотеки сравнения не учитывают).
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.