Version v1.0 · dotnet

Testing Strategy

Testing approach for runtime correctness, provider behavior, and operational confidence.

Testing Strategy

DurableStack testing should combine fast feedback tests with environment-realistic integration checks.

Core layers

  • Unit tests for job logic and domain services.
  • Integration tests for runtime APIs (IDurableStackClient, schedule admin, run query).
  • Provider tests against your chosen production-like database engine.

Runtime behavior tests

Cover at least:

  • enqueue + run success path
  • delayed schedule execution path
  • retry transitions and terminal failure
  • recurring materialization behavior
  • lease recovery after worker interruption

Provider-focused tests

  • migration/init in clean and existing schema states
  • claim behavior with concurrent workers
  • retention pruning behavior
  • schedule admin commands (enable/disable/update/run-now)

CI recommendations

  • Run unit tests on every PR.
  • Run provider integration suites on PR or nightly depending on runtime cost.
  • Include one controlled failure scenario to verify retry + observability signals.