Python мануфактураJavaDesign Patterns для автоматизаторів

Java · Сесії: AMA та PMP · 15:35–18:42

Чому перевірки лише status code недостатньо

Тест, який перевіряє тільки `200 OK`, пропустить відсутнє поле, `null`, порожній рядок або неправильний mapping. Навіть перевірка переліку полів не гарантує правильного типу чи змісту. Deserialization і schema validation дають дешевий базовий захист: response приводиться до строгої моделі, тому тест одразу виявляє відсутнє поле або неправильний тип. Для цього згадуються інструменти на кшталт Zod у TypeScript і Pydantic у Python. Окремо треба врахувати serializer settings: backend може зовсім вилучати з JSON поля зі значенням `null`.

Міграція бази даних і тестування даних →

Java · Сесії: AMA та PMP · 11:41–15:35

Міграція моноліту в мікросервіси

Під час декомпозиції логіку, яка раніше жила в одному або кількох класах, переносять у різні services. Треба не лише перенести записи, а й зберегти правила зіставлення полів та джерела кожного значення. Показано типовий регресійний ланцюжок: `fullName` випадково мапиться лише з `lastName`; локальний fix додає `name`, але дані все одно не оновлюються, бо справжнім джерелом був інший service. Так само похідний `status` може формуватися з timestamps лише на одному code path і залишитися `null` під час читання.

Міграція бази даних і тестування даних →

Java · Advanced: API-автоматизація · 20:00–40:00

POJO generation і Jackson mapping

POJO описує fields, accessors, equality/hash і string representation. Моделі можна згенерувати з real JSON через jsonschema2pojo або RoboPOJOGenerator, обравши Jackson annotations і, за потреби, Lombok. `@JsonProperty` зв’язує JSON name з Java field, Jackson Databind serialization/deserialization перетворює DTO у request body і response назад у object. `null`, missing field, empty object і empty array — різні contract states і потребують окремих tests.

POJO, Jackson і контролери →
Запитати в чаті про «null» →