Поскольку я являюсь противником использования моделей и всевозможных DTO, POJO и прочих классов для описания API-запросов и ответов, сообщений в Kafka и тому подобного в сквозных тестах, я долгое время из проекта в проект реализовывал примерно одинаковые решения, постепенно дополняя и адаптируя их под конкретные потребности. Порой из-за отсутствия такого решения проект начинал использовать эти самые модели и со временем превращался в монстра с огромным количеством классов, сложных в сопровождении. Но автоматизированные тесты это не клиентское приложение, которое должно строго следовать контрактам. Наоборот, мы должны иметь как можно больше свободы, чтобы максимально полно тестировать целевой функционал, в том числе выходя за рамки этих самых контрактов. И чтобы подобное больше не повторялось, по крайней мере в проектах, над которыми работаю я, я подготовил библиотеку - JSON Data Generator, которая генерирует JSON-сообщения на основе JSON Schema и позволяет избавиться от огромного пласта моделей, описывающих те или иные взаимодействия (межсервисные, клиент-серверные и т. д.). Библиотека умеет: - Генерировать JSON на основе схемы. - Управлять наполнением. - Изменять любые значения, добавлять и удалять атрибуты, явно устанавливать null, управлять размерами массивов. - Использовать собственные генераторы для отдельных атрибутов. - Воспроизводить сгенерированные данные JSON по схеме. И всё это без необходимости создавать отдельные Java-классы для каждого запроса, ответа или сообщения. Это только первая итерация библиотеки, и она пока поддерживает далеко не всё. Однако базовые возможности, которые покрывают, на мой взгляд, как минимум 80% повседневных задач, уже реализованы. Библиотека совместима с Java 21+, доступна через Maven Central и не привязана к конкретному тестовому фреймворку. GitHub: https://github.com/stasbykov/json-data-generator
Берите, пользуйтесь и возвращайтесь с обратной связью! Всем хорошего настроения!