Seite 1 von 1
Wohin mit den tests?!?
Verfasst: Sonntag 4. September 2016, 18:24
von jens
Wohin mit den tests? Wie benennen und wohin legen?
Bin gerade wieder über ein Projekt gestolpert welches so ausgebaut ist:
Wenn die /tests/ in setup.py eingebunden werden, landet das /tests/ Verzeichnis in .../site-packages/tests/
Ist natürlich dämlich, wenn man mehr als ein Projekt installiert, welches einen /tests/ ordner hat
Sehe zwei möglichkeiten:
oder:
welches ist der quasi Standard?!?
Spontan würde ich zur letzten Variante tendieren.
Re: Wohin mit den tests?!?
Verfasst: Sonntag 4. September 2016, 18:43
von DasIch
Die Tests liefert man natürlich nicht als Package mit aus, insofern ergeben sich diese Probleme alle auch nicht.
Re: Wohin mit den tests?!?
Verfasst: Sonntag 4. September 2016, 19:43
von BlackJack
Ich weiss nicht ob man es als Standard bezeichnen kann, aber vom „Python Packaging User Guide“ gibt es ein Beispielprojekt:
https://github.com/pypa/sampleproject
Ich persönlich habe aber auch schon tests als Unterpackage vom Projekt gemacht, was den Vorteil hat, dass man einfacher die Tests ausführen (lassen) kann, wenn etwas nicht funktioniert. Das kann nützlich sein wenn das jemand anders installiert hat und es in einer Umgebung und mit Abhängigkeiten läuft, die man nicht selbst installiert hat oder mit denen man das selbst noch nicht getestet hat.
Re: Wohin mit den tests?!?
Verfasst: Montag 5. September 2016, 08:09
von jens
DasIch hat geschrieben:Die Tests liefert man natürlich nicht als Package mit aus, insofern ergeben sich diese Probleme alle auch nicht.
Das kommt aber dennoch vor.
Ich weiß garnicht was passiert, wenn mehrere packages Dateien nach
.../site-packages/tests/ packen wollen. Merkt pip das eigentlich oder werden die blind überschieben?!?
Ich sehe halt auch ein vorteil darin, das man tests immer ausführen kann, egal. wie installiert wurde. Aber halt nicht, in dem sie nach
.../site-packages/tests/ gespeichert werden.
Das
https://github.com/pypa/sampleproject/ speichert sie auch unter
/tests/ und macht:
packages=find_packages(exclude=['contrib', 'docs', 'tests']),
Somit kann man die Tests nur dann ausführen, wenn man das Paket z.B. per
pip install -e installiert hat.
Re: Wohin mit den tests?!?
Verfasst: Montag 5. September 2016, 08:35
von Sirius3
@jens: wenn man die Tests mitinstallieren möchte, würde man sie unter den Package-Pfad legen: /project_foo/tests
numpy hat z.B. sogar die Tests auf jedes Unterpaket aufgeteilt und somit in jedem Unterverzeichnis ein ../tests-Verzeichnis.