Skip to content

Tests

The project uses pytest for testing.

Install the dev extra

uv sync --extra dev

Run

uv run pytest                # full test suite
uv run pytest tests/data     # subset

Conventions

  • Tests live under tests/ and mirror the slm4ie/ layout.
  • Fixtures used by tests/data/ are small and committed in-tree — never point tests at the live /vault/data/SLM4IE/ data store.
  • Pytest configuration lives in pyproject.toml ([tool.pytest.ini_options].testpaths).

Linting

Ruff is configured with Google-style docstring checks:

uv run ruff check --select D <changed-paths>

See Development for the full conventions.