У меня есть некоторый опыт работы с юнит-тестированием и макетами. Исходя из своего ограниченного опыта, я использовал эти два для тестирования сервисного уровня, например, макетирование (заглушение?) Базы данных, чтобы устранить зависимости и сосредоточиться на блочном тестировании бизнес-логики.
Теперь я создаю реализацию API-оболочки, которая будет использовать веб-службы RESTful. Отправленная мне структура результатов json, например, не из моих рук: Twitter. Я просто строю клиент для взаимодействия с их API. Я не уверен, как идти о модульном тестировании результата json. Сейчас я просто высмеиваю результат запроса http со статической структурой json. Это гарантирует, что десериализация json для моих pojos верна, но я обеспокоен изменениями API. Что делать, если структура API меняется? Что если API в настоящее время возвращает «title» сегодня и «groovy_title» завтра? Мой юнит тест не поймал бы это.
Хотя, насколько я понимаю, юнит-тесты должны быть быстрыми. Раньше я издевался над БД, а теперь я издеваюсь над http, но должен ли я на самом деле использовать конкретную реализацию http, чтобы я сразу же получал уведомление о нарушении API? Или есть лучший способ подойти к этой ситуации?