← ClaudeAtlas

vibey-testinglisted

The 100% per-layer coverage gates, running tests locally, Postgres integration tests (never mocked), property testing for rotation and no-loss gate, the chaos test, the test tree, and markers.
the-vibey-project/vibey · ★ 2 · Testing & QA · score 71
Install: claude install-skill the-vibey-project/vibey
# vibey testing ## Coverage floors — not targets Every layer carries a **100% branch coverage floor**, enforced in CI as one test run and four per-layer reports: ```bash uv run pytest -q -p no:cacheprovider --cov=vibey --cov-branch --cov-report= uv run coverage report --include='src/vibey/domain/*' --fail-under=100 uv run coverage report --include='src/vibey/application/*' --fail-under=100 uv run coverage report --include='src/vibey/infrastructure/*' --fail-under=100 uv run coverage report --include='src/vibey/cli/*' --fail-under=100 ``` The build **fails** if any layer drops below 100%. This is not aspirational (ADR-0023). `tui/` has tests under `tests/tui/` but no floor of its own. ## Running locally The default `addopts` are `-m 'not paid' -n auto --maxprocesses=8`: paid tests are excluded and everything runs under pytest-xdist. **Every session needs Postgres**, including a run of pure domain tests: `tests/conftest.py` connects at `pytest_configure`, migrates a `vibey_test_template` database once, clones it into a database per xdist worker, and repoints `VIBEY_TEST_DATABASE_URL` at the clone. The role in the DSN must be able to connect to the `postgres` database and run `CREATE DATABASE`. ```bash export VIBEY_TEST_DATABASE_URL="postgresql://$(whoami)@localhost:5432/vibey_test" uv run pytest tests/domain -p no:cacheprovider # one area, xdist on uv run pytest tests/domain -o addopts="" -m "not paid" # serial, for a debugger ``` Overriding `addopts` als