Testing Guide
Updated: 2026-03-13 · Owner: QA Guild
This page summarizes the testing matrix for the Python + React stack.
:::tip Related appendices
docs/testing/docker-integration-tests.mddocs/testing/lighteval-interoperability-fixtures.mddocs/testing/docs-smoke-checklist.mddocs/testing/core-alpha-signoff.mddocs/testing/browser-harness-signoff.mddocs/testing/active-runs-hardening-signoff.md:::
Coverage & Gatekeeping
Quick Commands
Backend Testing Details
- Unit tests live under
backend/tests. pytest -m lightevalvalidates LightEval config generation plus CLI/Python interoperability.pytest -m integrationexercises the Docker-backed stack.- The backend coverage gate remains branch-aware and enforced from
backend/pyproject.toml.
Test doubles
- Local unit tests may still use mocks and fakes.
- Docker integration and LightEval contract suites use a local OpenAI-compatible test gateway.
- Production code always follows the standard LiteLLM client path.
Docker-backed Integration Flow
Run from the repository root:
What it does:
- Starts
postgres,redis, the local OpenAI-compatible gateway,celery-worker, and optionalcelery-beat - Applies migrations and seeds deterministic data with
eval_752.scripts.seed_integration - Runs
uv run pytest -m integrationinside the backend container - Collects coverage and logs under
.artifacts/docker-integration/
Frontend Testing Details
- Vitest + React Testing Library cover unit and component behavior
- Playwright covers browser journeys and Docker smoke
- Active runs UI evidence is collected by
frontend/tests/manual/active-runs-ui-audit.mjs
Documentation Smoke
Before shipping workflow changes, run the documentation smoke checklist in
docs/testing/docs-smoke-checklist.md. This is the guardrail against getting-started, provider,
results, i18n, and active-runs docs drifting away from the product.
