Video description
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.
Product information
- Title: Testing microservices with consumer-driven contracts
- Author(s):
- Release date: December 2019
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 0636920362241
You might also like
video
Hands-On Guide to Spring Cloud Contract: Creating Consumer-Driven Contracts to Leverage Contract Tests and Improve Your Code
9+ Hours of Video Instruction Developers need confidence when pushing new features to a new application …
video
API Testing with Postman
Postman is a powerful tool used to test web services and APIs. It allows you to …
book
Spring Microservices in Action, Second Edition
By dividing large applications into separate self-contained units, Microservices are a great step toward reducing complexity …
book
Kubernetes in Action
Kubernetes in Action is a comprehensive guide to effectively developing and running applications in a Kubernetes …