Unlike a monolith, which is an independently deployable unit that can be tested as a whole, microservices are a distributed system, composed of many services that can be tested and deployed independently of each other. While this approach has many advantages, from a testing perspective it can actually make things harder. How do I know the impact of changing or deploying a microservice on other microservices that may depend on it?
Andrew Morgan dives into common microservices testing anti-patterns, including building an end-to-end testing microservices like a monolith, the “distributed monolith” anti-pattern, and unit tests that are heavily reliant on stubs of other microservices that may be inaccurate or stale. He then offers an overview of consumer-driven contract (CDC) testing—a TDD at the API level approach to microservices—as a way to mitigate them. Andrew walks you through the concept end to end, explaining how to use it to guarantee that both message-driven and API-driven interactions between microservices will work without end-to-end testing, provide a fast and reliable feedback loop for microservices development, and deliver independently testable and releasable microservices.
- Title: Testing microservices with consumer-driven contracts
- Release date: December 2019
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 0636920362241
You might also like
Building Microservices, 2nd Edition
Distributed systems have become more fine-grained as organizations shift from code-heavy monolithic applications to smaller, self-contained …
Amazon Web Services AWS LiveLessons 2nd Edition
More Than 17 Hours of Video Instruction More than 17 hours of video instruction on Amazon …
Microservices Patterns Video Edition
"A comprehensive overview of the challenges teams face when moving to microservices, with industry-tested solutions to …
Software developers and architects increasingly turn to microservices as a framework for improving the agility and …