My Story of Microservices Testing
summary
Generates HTTP clients from Swagger/OpenAPI and publishes Java artifacts to Nexus so tests always use Swagger-generated Java clients; wraps clients in an executor layer for logging, caching and exception checks. Uses Cucumber JVM + Spring with a hook flag holder that runs before-hooks per-feature and resets via after-hooks to avoid flaky shared state. Implements a health-check thread that polls /health and aborts test runs to save Jenkins time. Creates a date-setting microservice invoking Linux date to produce time-distributed test data.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:32Clients zoo support
- 2:43Swagger generation mechanism
- 3:51Swagger dev code
- 4:28Swagger QA code usage
- 5:24QA code architecture
- 9:10Benefits
- 10:15Problem of testing environment
- 13:09health check + Spring task
- 14:38Goal for hook
- 15:17Static class field approach
- 15:35Hook executor approach
- 15:52Hook executor impl
- 18:01testdata cleanup
- 19:33Custom Runtime + CleanExecutor
- 23:08Custom mock
- 25:14Time machine for test data
- 26:30Time machine implementation
related talks
02h 36mTesting Java Microservice
33mThe one with the automation
47mMicroservices Testing with Java
01h 04mConsumer Driven Contracts and Your Microservice Architecture
47mBreak Up the Monolith: Testing Microservices
01h 02mMake writing tests more joyful
46mFrom Untested Spaghetti to Well-Rested Developers
14mBuilding Self-Healing Microservices for Modern SRE Practices
