3.5.5 Multi-Service Integration Test Orchestration
extraArticle in preparation — showing conspect notes
Application integration tests often need databases, queues, RPC servers, migrations, and mocks rather than one test executable.
rules_itestmodels long-running services, one-shot setup tasks, service groups, dependency ordering, health checks, allocated ports, and graceful shutdown.service_teststarts a fresh scenario, waits for readiness, runs an ordinary test target against it, and tears the services down.- The same graph can support a
bazel rundevelopment environment with ibazel reload. - Per-service reload injects a cache-busting input, so it is opt-in. keep the ordinary CI test contract cacheable.
- A ready process, an allocated port, and a healthy service are separate states that the scenario must model explicitly.
- Hermeticity and reproducibility still depend on pinned service images or binaries, declared inputs, and avoiding ambient host state.