--- icon: lucide/flask-conical --- # Testing The test suite checks that the same public MCP behavior works over HTTP and stdio. ## Current Test Layout ```text tests/ conftest.py server_contract.py test_http.py test_stdio.py ``` `server_contract.py` contains the shared expectations. Both transport tests verify the resources, prompts, fallback tools, and representative reads against that contract. ## Run Tests Run the full suite with: ```bash uv run pytest ``` Run one transport while working on a focused change: ```bash uv run pytest tests/test_http.py -q uv run pytest tests/test_stdio.py -q ``` The repository uses strict pytest markers. Register any new marker in `pyproject.toml` before using it. ## Full Validation ```bash uv run zensical build uv run ruff check . uv run ty check uv run pytest ``` See the [Pytesting skill](./skills/pytesting/SKILL.md) when adding or restructuring tests.