A formal agreement between individuals or parties. "the country negotiated a trade pact with the US"
synonyms: agreement, protocol, deal, contract
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
Consumer's point of view. It is TDD for services.
Pact is a testing tool that helps you write
Contracts, and 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 wait for slow e2e tests to know whether or not your applications will work together.||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: