Testing¶
This project provides a few different tests and checks.
In general, we have two files which define all the tests:
- prek.toml
- CI pipeline: .github/workflows/main.yml
To easily run these tests locally, use:
If you only want to run the pre-commit hooks manually, use:
Python Code Tests¶
Feature tests as well as test coverage:
# run tests
uv run coverage run -m pytest
# serve html coverage report
uv run python -m http.server -d build/htmlcov
Static code checks using ruff:
# linter
uv run ruff check src
uv run ruff check tests
# formatter
uv run ruff format --diff src
uv run ruff format --diff tests
To run automatic static code fixes, use:
# linter
uv run ruff check --fix src
uv run ruff check --fix tests
# formatter
uv run ruff format src
uv run ruff format tests
Static code analysis using pylint:
Static type checks using ty:
General typo checking using typos:
Markdown Checks¶
Verify documentation (markdown) compliance w.r.t. markdown linting rules further specified inside the .markdownlint-cli2.jsonc configuration file.