Micro Testing Pains
summary
Argues that consumer-driven contracts solve brittle microservice integration tests by making contracts executable and verifiable. Builds a Ruby gem called pactu (and notes an independent Java pact library) that uses JSON Schema to generate stubs via WebMock and to validate providers, turning vague CI failures into specific type/structure errors. Claims this approach lets teams evolve in parallel, eliminates flaky shared-environment tests and noisy VCR cassettes, and produces actionable failures rather than “couldnt find element” style messages.
AI-written summary · about
chapters (24)
- 0:00Intro
- 0:22Micro Testing Pains
- 0:53The mythical Monolith
- 3:19Easily replaceable Technology decoupled Simple to understand Natural workstream separation
- 4:32The total complexity in a system remains the same
- 4:45simple services complex ecosystem
- 4:55Deploying Performance Security Monitoring
- 5:32Different teams Different tech stacks The famous Conway's Clusterfuck
- 5:57Acceptance Tests! integration tests, customer tests, coffee break tests, for the love of god get green tests
- 7:02How to be sure you are not ruining someone else's day?
- 7:57Run all the services in your dev box!
- 8:53Run your tests against a shared environment
- 9:51Stub all the dependencies
- 10:30VCR all the things!
- 11:37Let me tell you a sad story
- 12:22Run your integrated tests in isolation
- 12:37The subset of functionality a service needs from another service
- 14:43Looks like a Stub...
- 14:54Isolated and integrated tests
- 15:26For Pacto, contracts are defined as json schema files
- 18:12Consumer Driven Contracts!
- 20:16Put the focus back on the consumers
- 20:37Contracts as a communication tool
- 21:09Test in isolation with Executable Contracts
related talks
01h 21mMicro-Service Delivery Without the Pitfalls
24mHow to test microservices and stay sane
39mWhy you should contract test your Microservices 🧭
32mConsumer-Driven Contract: A better approach for API Testing
39mPacts to the Rescue! Making your microservices play nicely together
22mCollaborating with Contracts
09m"Contract Testing 101"
43mEnhancing Backend Microservices Ecosystem with Contract Testing
