---
title: Testing Strategy
description: Testing approach for runtime correctness, provider behavior, and operational confidence.
order: 82
---

# 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.
