Contract testing is a simple, reliable way to make sure that each service and API plays nice with other components so you can deploy independently and safely. In a microservices-first world, traditional testing struggles to keep up with all the potential interactions in a large, loosely-coupled system. Contract testing checks the compatibility of an API or service by validating it against an agreed contract. This straightforward method uncovers integration issues early and adds valuable transparency to compatibility expectations. In Contract Testing in Action you'll learn: * The core concepts and practices of contract testing * Testing microservices with Pact * Consumer-driven and bi-directional testing * Building a contract testing framework * Converting API integration tests to contract tests Contract Testing in Action introduces the practice of contract testing through engaging hands-on examples. You'll learn how to introduce contract tests for multiple different types of communication, from REST APIs to GraphQL. By the end of this practical guide, you'll be comfortable with advanced contract testing concepts like can-i-deploy, provider states, and webhooks. You'll even get tips on how to introduce contract testing to your team and other business stakeholders.
Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications. About the book Contract Testing in Action is a hands-on guide to contract testing for microservices applications and other systems of loosely-coupled components. After learning the basics of contract design and implementation, you'll dive into constructing your own contract testing framework. You'll explore the leading contract testing tools, including Pact, PactFlow, and GitHub Actions. Plus, you'll set up consumer-driven contract testing for REST and GraphQL APIs and learn to integrate contract testing into a CI/CD pipeline. Finally, you'll delve into provider-driven contract testing, which simplifies adoption by utilizing your existing stack and practices. About the reader For experienced software developers and quality engineers who have worked with Java, JavaScript, and APIs. About the author Marie Cruz is a Software Tester with over 10 years of experience.
Currently a Senior Developer Advocate for Grafana Labs, she has previously worked as an Engineering Manager responsible for driving continuous testing and quality improvements, and a Principal Engineer focused on introducing recommended practices for testing and test automation frameworks. Lewis Prescott is a Test Specialist at IBM. He has 9 years experience in software testing, is a recognized champion of Contract Testing and course author at Test Automation University, as well as an active mentor in the testing community.