Alternatively (unit tests only): a venv with installed test dependencies
For the testing setup, there exists a separate docker compose file:
There is a test subcommand of the docker entrypoint which wraps pytest.
docker compose run --rm test-app test
# or a single module:
docker compose run --rm test-app test tests/helpers
Alternatively, in a shell or in your virtual environment,
you can just use pytest directly:
docker compose run --rm test-app shell
pytest -v tests/helpers
You can use markers to select or deselect certain tests, e.g. slow ones:
pytest -vm “not slow” tests
The markers are defined in the pyproject.toml (key tool.pytest.ini_options.markers).
A test can be marked via the @pytest.mark decorator, e.g. @pytest.mark.slow.