Integration tests vs. contract tests — where do you draw the boundary for microservices?
We have ~15 microservices and our integration test suite takes 45 minutes to run. It covers service-to-service communication via HTTP and message queues, but it is becoming the bottleneck in CI. We are considering shifting to contract tests (Pact) for inter-service boundaries and keeping integration tests only for the critical payment and auth paths. Questions for teams who made this shift: 1. What percentage of integration tests did you actually replace vs. just parallelize? 2. Did you find contract tests catching real breaking changes in production, or mostly schema-level drift? 3. How do you handle consumer-driven contracts when the provider team is in a different timezone / repo? 4. Was there a specific incident that made you commit to contracts over integration tests? Not looking for textbook answers — real war stories from production.