Skip to main content

Posts

Showing posts from 2023

Contract Testing

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