The Pact family of frameworks provide support for Consumer Driven Contracts testing.
Contract is a collection of agreements between a client (
Consumer) and an API (
Provider) that describes the interactions that can take place between them.
Consumer Driven Contracts is a pattern that drives the development of the
Provider from its
Consumers point of view.
Pact is a testing tool that guarantees those
Contracts are satisfied.
|Confidence||Faster||Less Error Prone|
|Continuously evolve your codebase knowing that Pact will guarantee Contracts are met.||No need to setup end-to-end environments. No need for manual testing.||Generation and verification of Contracts are automatically managed by Pact.|
I still need convincing.
Check out this talk about Pact and the slides below from one of the Pact authors for an introduction.
<iframe src="https://www.slideshare.net/slideshow/embed_code/key/f4e6DF51EttgzJ" width="595" height="485" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe>
For a great explanation of consumer-driven contracts (and Pact!), check out this talk from Atlassian at their 2016 summit: Verifying Microservice Integrations with Contract Testing.
Hear how Soundcloud "Move Fast and Consumer-Driven-Contract-Testing Things" in their talk from MicroXchg 2017.
You can get help on Pact from the following channels: