You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
dinglehopper/README-DEV.md

58 lines
1.1 KiB
Markdown

Testing
=======
Use `pytest` to run the tests in [the tests directory](dinglehopper/tests):
```bash
virtualenv -p /usr/bin/python3 venv
. venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
pytest
```
## Test running examples
Only unit tests:
```bash
pytest -m "not integration"
```
Only integration tests:
```bash
pytest -m integration
```
All tests:
```bash
pytest
```
All tests with code coverage:
```bash
pytest --cov=dinglehopper --cov-report=html
```
Static code analysis:
```bash
pytest -k "not test" --mypy
pytest -k "not test" --ruff
```
# How to use pre-commit
This project optionally uses [pre-commit](https://pre-commit.com) to check commits. To use it:
- Install pre-commit, e.g. `pip install -r requirements-dev.txt`
- Install the repo-local git hooks: `pre-commit install`
# Releasing a new version
- Update `ocrd-tool.json`
- `git commit`
- `git tag vx.y.z`
- `git push && git push --tags`
- The GitHub Actions workflow `release` will now create
a. a new release on GitHub and
b. a new release on PyPI
- Currently requires a review for PYPI?