26 lines
1.1 KiB
Markdown
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
|
|
```
|