Consumer Driven Contracts
# Consumer Driven Contracts

Consumer-Driven Contracts (CDC) ist ein Vorgehen zum Testen von Schnittstellen innerhalb einer Microservice-Architektur
Dieses Vorgehen wurde entwickelt, um die Abhängigkeiten zwischen (Micro-)Services zu definieren. Dabei wird nicht die gesamte Schnittstelle in einem Schema fixiert. Die Abhängigkeiten werden konkret für den Konsumer einer Schnittstelle in einem Vertrag (contract) festgelegt. Dabei werden nur die für den Konsumer wirklich interessanten Bereiche eines Ergebnisobjektes genau festgelegt. Dies hat den Vorteil, dass der Service die Schnittstelle an den Bereichen, die von keinem Konsumer referenziert werden, weiterentwickeln und verändern kann.
Die Verträge zwischen den Systemen werden typischerweise automatisiert im Rahmen der continuous integration überprüft. CDC bieten den Vorteil, dass auf aufwendige end-to-end-Tests verzichtet werden kann. Ein CDC Framework ist z. B. Pact.