In einer Microservices-Architektur entstehen viele Services, potenziell sogar in den verschiedensten Programmiersprachen. Um eine reibungslose Kommunikation zwischen diesen zu gewährleisten, müssen die Schnittstellen "passen". (Consumer-Driven) Contracts stellen einen Ansatz dar, der die Schnittstellen und zusätzlich deren Aufrufer (Clients) testet.
Verschiedene Probleme können so konkret adressiert werden. Zum Beispiel, dass in bestimmten Staging-Umgebungen oder aufgrund von Wartungen einzelne Provider zum Testzeitpunkt nicht zur Verfügung stehen und somit nicht live angesprochen werden können.
Wir stellen vor, wie Contract Based-Testing sich gegenüber anderen Teststufen einordnet, wie das Contract Testing-Framework PACT funktioniert und wie wir das Verfahren bei Hermes einsetzen.