Objective: Build a manifest-driven, reusable Java testing framework to support microservices across multiple teams.
1. Project Bootstrapping. Set up repository layout, Create folder structure and initial files (e.g. build.gradle
, settings.gradle
).
2. Implement a ManifestParser
. Add main entry point and parse manifest file with dependency resolution.
3. Mocking & Live Service Integration. Integrate WireMockLauncher
. Support launching services by mode: mock vs live.
4. Test Data Provisioning. Implement data loader for SQL test data (e.g seed from data/init.sql
). Design group-based test data teardown strategy.
5. Contract Validation. Implement a Contract Validator scaffold, design API for schema-based request/response validation, Integrate SchemaStore and implement a fail tests when contract changes break mocks or consumers.
6. CLI Tooling & Developer UX. Add CLI tools for microservices to launch tests, Write documentation for developers.
7. Build & Distribute. Build deliverables (Jar files and scripts) and publish to internal repository.
- Add optional Docker integration (e.g., Testcontainers).
- Add contract and schema versioning.
- Enable GitHub Actions or Jenkins CI integration.
- Collect developer feedback.
Testing-framework.jar
published to internal repo.- CLI tools
- Developer documentation and onboarding guide.