Why and what is contract testing? The distributed nature of microservices, combined with the sheer number that live within an application, make it much harder for developers to perform the integration tests that were a straightforward, routine part of monolithic app development. Contract testing is a technique for testing an integration point by checking each application in isolation to ensure the messages it sends or receives conform to a shared understanding that is documented in a "contract". Consumer-driven contract testing is a type of contract testing that ensures that a provider is compatible with the expectations that the consumer has of it. This involves checking that the provider accepts the expected requests, and that it returns the expected responses. Consumer contract testing provides the following benefits: Contract tests provide a mechanism to explicitly verify that a provider microservice meets a consumer’s contract/needs. These HTTP requests and responses
This is the powerpoint presentation I used when giving a session to my team about Docker. Tried to start with fundamental concepts and go up to using Docker Compose.