Verifying Relationships: Consumer-Driven Contract Tests and Microservices
Microservice architecture brings many benefits but there is one potential pitfall when testing them. How do you model and test the many relationships between services? You could try integration tests but they are expensive to maintain, slow to run, and come with orchestration complications.
Contract testing could help with this. But the traditional contract test has a circular problem. The team writing the service defines the contract and the test. As soon as this isn’t kept up to date (only a matter of time) the test is useless.
A better approach is Consumer-Driven Contract testing. Here we use the output of contract tests owned by your consumers to test your API. This talk will introduce you to the Pact framework to write these tests and the key concepts. You will be able to avoid that integration test pack and have more time for other test activities in your team.
My career is focused on understanding what others in a team are doing. The impact of features that BA’s plan, managing the expectations of product owners, and analyzing changes developers make.
With developers, I write code to hopefully make their lives easier. It could be helping understand changes to a UI, performance insights, or API contract changes.