What problem does it solve?
Integration tests catch failures that unit tests cannot: incorrect wiring, serialization/deserialization, transaction boundaries, connection pool settings, schema drift, message ack/retry behavior, and “works on my machine” config issues. The goal is to reproduce IO/DB/queue bugs deterministically, validate runtime wiring (config, DI, modules, migrations), and provide confidence that changes remain deployable.
Core Features & Use Cases
- Deterministic, CI-friendly integration tests for SQL/NoSQL DB interactions, message broker interactions, and HTTP client integration with fake/stub servers
- Testcontainers-style isolation, ephemeral infra, reproducible setup/teardown
- Fixture strategy (data builders, seed scripts, migrations, reset strategy)
- Guidance for Layered testing: unit, narrow integration, and module wiring tests
- Clear container strategy, fixture strategy, and reset strategy guidance
Quick Start
Run the integration tests using your standard build tool (Maven or Gradle) with container-backed isolation to reproduce IO/DB bugs deterministically in CI.