Posts

Docker container startup time is sabotaging your test feedback loop.

A testing workflow post about avoiding slow container startup as the default local feedback path.

Docker container startup time is sabotaging your test feedback loop.

A few seconds here. A few seconds there. Suddenly nobody runs tests locally anymore because waiting breaks fast iteration.

And once engineers stop running tests often, test confidence quietly drops.

The uncomfortable truth?

In-memory system tests

For many system tests, spinning up the application DI container in-memory is simply faster:

  • No Docker containers
  • No orchestration overhead
  • Just boot the app and test behavior directly

Yes — you lose perfect infrastructure-level isolation.

But you gain something valuable:

  • ✅ Extremely fast isolated environments per test
  • ✅ The ability to inspect internal state when needed
  • ✅ Much tighter feedback loops

That’s exactly where Xcepto fits in.

Xcepto allows running systems in-memory while preserving isolation through Compartments — an in-memory isolation model for separating components and dependencies when stronger boundaries are needed.

You still get system-level behavior testing.

Just without paying the "spin up containers for every test" tax.

And unlike Testcontainers, where creating a fresh isolated environment per test quickly becomes impractical, in-memory environments are cheap enough to make isolation fast again.

Fast tests get executed. Slow tests get skipped.

GitHub: Xcepto.NET