Automatische Tests dank Consumer Driven Contract Testing
Gerade in großen Microservice-Landschaften sind End-to-End-Tests in der Regel nur mit hohem Aufwand zu realisieren. Sie beschränken sich daher oft auf den Happy-Path. Randfälle werden dann gar nicht service-übergreifend getestet.
Eine sehr gute Alternative zu End-to-End-Tests bieten Consumer-Driven Contract Tests, mit denen es möglich ist, einzelne Services (oder Frontends) unabhängig zu testen, und dennoch sicher zu sein, dass sie mit dem Rest der Landschaft kompatibel sind.
Mit wenig Slides und viel Code demonstriere ich in dieser Session, was Consumer-Driven Contract Testing ist und wie mit ihnen über eine Continuous Deployment Pipeline und einem Pact-Broker sichergestellt werden kann, dass auf allen Stages nur Services deployt werden (können), deren Schnittstellen kompatibel sind.
Vorkenntnisse
RESTful API Design, Unit-Testing, CI/CD
Lernziele
Wie kann Consumer Driven Contract Testing eingesetzt werden, um in der CI/CD-Pipeline sicherzustellen, dass Consumer und Provider auf jeder Stage kompatibel sind.