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

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

Type-aware assertions з AssertJ

Object equality не підходить для всіх API checks. Dates потребують before/after/close-to comparison, floating-point — tolerance, collections — contains/order/filter semantics, nested objects — field-level comparison. AssertJ починає з `assertThat(actual)` і пропонує methods відповідно до actual type. Це зменшує custom comparison code і робить expected behavior видимим у test.

AssertJ: виразні асерти та їх генерація →

Java · Основний курс · 32:28–37:30

AssertJ і перевірка колекцій

Для assertions підключається AssertJ Core, яку автор радить для різних data types і особливо collections. Оскільки suites endpoint повертає масив, тест перевіряє, що list actual titles містить title щойно створеного suite. Перевірка лише title через JsonPath не масштабується на description та інші fields. Тому наступний крок — deserialization повного response в typed Java object і assertions проти його полів.

API-автоматизація: MVC і Jackson →

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

Generated fluent asserts, API-first і contract testing

Generator може створити `assertThat(pet).hasName(...)`, але import conflicts і plugin age можуть звести користь нанівець. Сучасний AssertJ already має rich extracting/recursive/custom assertion APIs, тому generation варта лише для real repeated domain vocabulary. API-first підхід робить specification upstream input для backend і clients. Jackson deserialization вже перевіряє shape/types, але не доводить business semantics. Окрема contract-testing infrastructure потрібна, коли spec/code generation не закривають real producer–consumer risk.

AssertJ: виразні асерти та їх генерація →

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

Generated assertions і їх межі

Assertion generator може створити fluent `hasName`, `hasCode` та інші methods з model classes. Розглядаються hard і soft assertions, package include/exclude та custom templates. Live demo виявляє plugin/version/import failures. Урок: generated assertion code потрібно компілювати у clean build і review, а не вважати generator output правильним за замовчуванням.

AssertJ: виразні асерти та їх генерація →
Запитати в чаті про «AssertJ» →