• We want to mock a service so we can test things quickly • Mocking means we ensure that given an input it will return an output • We are actually interested in testing the consuming system, not the mocked/producing system • But to do that we need to be sure that what we have mocked is correct (the real system will indeed return a given output for a given input) What do we actually want to verify https://docs.pact.io/recipes/kafka • On the producer side: • We want to make sure if we make changes, we do not break the expectations of our consumers • We want to be sure we share the same understanding of the system as our consumers • We are not actually testing our code or our logic, just ensuring that changes are properly communicated (breaking the build would force us to communicate)