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

Терміни, нюанси та джерела

Термін · 0:00

Faker seed

Seed робить послідовність generated values відтворюваною в межах зафіксованої версії Faker; сам seed не замінює domain validation.

Тестові дані для автотестів →

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

Test data з Java Faker

Для request body генеруються identifier, name та інші data. Faker прибирає hard-coded duplicates і допомагає покрити більше values. Водночас randomness не має ховати failure. Згенеровані values потрібно логувати або мати deterministic seed, інакше CI failure буде важко відтворити.

API: що тестувати та як написати перший тест →

Java · Сесії: AMA та PMP · 0:00–2:00

Не хардкодити єдиний набір даних

Credentials, product, company чи іншу сутність не варто фіксувати безпосередньо в тілі всіх тестів: один екземпляр не дає варіативності й приховує проблеми з іншими значеннями. Faker або власний generator має враховувати domain constraints і boundary values, а кожен run — по можливості створювати інший валідний набір. Детермінований seed можна залишити для відтворення падіння.

Тестові дані для автотестів →

Java · Основний курс · 11:53–16:11

Assertions у тесті і перехід до DTO

Первинні перевірки мають бути видимими в тесті, а не захованими в controller. Тому API method повертає `Response`, а test явно перевіряє status code. Така структура спрощує code review і показує, що саме доводить сценарій. Наступний крок — замінити JSON strings на data transfer objects, щоб мати Java types, autocomplete і зручне оновлення полів. Додаються Java Faker для унікальних test data і Lombok для генерації boilerplate. Для Lombok у IntelliJ IDEA потрібні plugin і ввімкнений annotation processing.

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

Java · Основний курс · 20:10–27:06

POJO, Lombok builder і test data

POJO пояснюється як Plain Old Java Object: fields плюс getters, setters, `equals`, `hashCode` і `toString`. Lombok annotation `@Data` генерує цей типовий код. Request JSON переноситься в typed `SuiteRequest`, який можна передавати RestAssured замість raw string. `@Builder` дає покрокову ініціалізацію nested DTO, а Java Faker генерує title і description, зокрема назву книги та Chuck Norris fact. Щоб не перевантажувати test конструкторами, створення request object виноситься в method generator/factory, який повертає готовий `SuiteRequest`.

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

Java · Сесії: AMA та PMP · 23:00–25:00

Унікальні test data і повторне використання slug

[Дивитися з 23:00](https://www.youtube.com/watch?v=viR9Rnmxse4&t=1380s). Автотест не може покладатися на випадкове ручне очищення: кожен run потребує незалежних names, emails та URLs, наприклад через Faker або контрольований unique suffix. Водночас validation tests мають використовувати стабільний набір навмисно невалідних values. Обговорення виявляє можливий defect: після soft delete database identity може лишатися, але public slug доцільно анонімізувати або звільняти, якщо зовнішні зв’язки тримаються за immutable ID.

Практика курсу на YOY, домашні завдання та формат ПМП →
Запитати в чаті про «faker» →