Erste Schritte mit Python tox
tox ist ein Projekt, mit dem man Unittests gegen verschiedenen Python-Versionen mit einfachen Schritten ausführen kann. Um das zu erreichen, werden ein paar Konfigurationsdateien benötigt.
Doch um tox für ein Projekt ausführen zu können, muss tox erst einmal installiert sein:
pip install tox
Ist tox installiert, braucht das Python-Projekt, das tox nutzen will, folgende Dateien:
- Eine pyproject.toml oder setup.py
- tox.ini
In diesem Post möchte ich zeigen, wie man das mit einer setup.py realisiert. Die setup.py ist eine Datei, die sich um die Installation eines Python-Projektes kümmert. Diese Datei kann Teil eines Python-Projektes sein ohne dass man dafür tox braucht. Aber falls man tox verwenden möchte, wird diese Datei benötigt (oder eben alternativ pyproject.toml).
Für meine Testzwecke sah die setup.py folgendermaßen aus:
from setuptools import setup if __name__ == "__main__": setup( name="Playground", description="Playground for tox", author="Myself")
Jetzt brauchen wir noch die tox.ini. Mit dieser Konfigurationsdatei weiß tox, gegen welche Python-Version die Tests laufen sollen und wie der Befehl gestartet werden soll. Diese ini-Datei kann z.B. so aussehen:
[tox] envlist = py36, py37, py38, py39 [testenv] deps = -rrequirements-dev.txt commands = pytest {posargs}
Hat man die setup.py und tox.ini kann man die Tests mit dem Befehl
tox
ausführen. Wenn man nicht alle Pythonversionen installiert hat, gegen die man die Unittests eigentlich laufen lassen möchte, dann wird tox meckern (wie in meinem Fall sichtbar). Doch die lassen sich einfach nachinstallieren.
