DEV Community

Around IT In 256 Seconds

#58: Consumer-driven Contracts: TDD between services

Consumer-driven Contracts is an approach to testing integration between services. In a distributed system, many components talk to each other. Typically via request/response protocols or message queues. The client must know and understand the API provided by the server. What kind of endpoints are available, what formats, request/response schema. Without consumer-driven contracts (CDC for short), we are often reckless when it comes to testing. Maybe we have a bunch of smoke tests against a mocked server. Maybe we copy-paste typical responses from the server’s documentation. But both client and server can evolve, breaking the integration in unexpected ways. CDC attempts to codify the API without explicit schema and coordination.

Read more: https://nurkiewicz.com/58

Get the new episode straight to your mailbox: https://nurkiewicz.com/newsletter

Episode source