docker-python-tests/README.md
2023-03-08 19:50:55 +01:00

26 lines
1.1 KiB
Markdown

# Docker image providing common Python test tools
Image with common dependencies and common Python test tools:
- common python packages: `python3-all python3-dev python3-pip python3-venv pylint3`
- `build-essential` to allow local python package using `pip`
- `git`
- pip installed version of `pytest`, `flake8`, `pylint`, `pyupgrade` (with `pyupgrade-directories` helper lib), `black` and `isort`
- associated tools to produce JUnit tests result files: `pylint-junit`, `flake8-junit-report` and `black-junit`
- `junitparser` tool to merge JUnit tests result files
## Usage example:
```bash
docker run -it -v "$(pwd)":/src -w /src brenard/python-tests
pip install .
pytest --junitxml=pytest.xml tests
pylint --load-plugins=pylint_junit --output-format=junit --output pylint.xml mysoft tests
flake8 --output-file flake8.txt mysoft tests
flake8_junit flake8.txt flake8.xml
black --verbose --target-version py37 --line-length 100 mysoft tests 2>&1 | black-junit > black.xml
junitparser merge pytest.xml pylint.xml flake8.xml black.xml tests-report.xml
pyup_dirs --keep-percent-format --py37-plus mysoft tests
isort --profile black --line-length 100 mysoft tests
```