As we have already mentioned, the main concept around contract tests is to define a contract between the consumer and provider, and then verify it independently for each service. Since the responsibility for creating and maintaining a contract lies mainly on the consumer side, this type of test is usually referred to as a consumer-driven test. The division into a consumer and provider side is clearly visible in Pact JVM. It provides two separated libraries, the first prefixed by pact-jvm-consumer and the second prefixed by pact-jvm-provider. Of course, the contract is created by the consumer in agreement with the provider, which has been illustrated in the following diagram:
Pact is, in fact, a collection of frameworks that provide ...