Głębiej
Kontrakty zmniejszają ryzyko integracji:
- Konsument definiuje oczekiwania, dostawca je weryfikuje.
- Wykrywa breaking changes wcześnie.
- Szybsze niż E2E, bardziej realistyczne niż mocki.
Przykłady
Consumer-driven contract:
Konsument publikuje kontrakt -> dostawca waliduje w CI
Typowe pułapki
- Traktowanie kontraktów jako statycznych.
- Brak oczekiwań niefunkcjonalnych (timeouty, retry).
- Zbyt mocne dopasowanie do mockowanych danych.
Pytania uzupełniające na rozmowie
- Jak wersjonujesz i rozwijasz kontrakty?
- Jak obsługujesz pola opcjonalne i kompatybilność wsteczną?
- Czym różni się contract test od samej walidacji schematu?