Die sehr verbreitete Verzeichnisstruktur selbst für ein einfaches Python-Modul scheint darin zu bestehen, die Komponententests in ein eigenes test
Verzeichnis zu unterteilen:
new_project/
antigravity/
antigravity.py
test/
test_antigravity.py
setup.py
etc.
Sehen Sie sich zum Beispiel dieses Python-Projekt-Howto an .
Meine Frage ist einfach: Wie werden die Tests normalerweise ausgeführt? Ich vermute, dass dies für alle außer mir offensichtlich ist, aber Sie können nicht einfach vom Testverzeichnis python test_antigravity.py
aus ausführen, da dies import antigravity
fehlschlagen wird, da sich das Modul nicht auf dem Pfad befindet.
Ich weiß, dass ich PYTHONPATH und andere Tricks im Zusammenhang mit Suchpfaden ändern könnte, aber ich kann nicht glauben, dass dies der einfachste Weg ist - es ist in Ordnung, wenn Sie der Entwickler sind, aber nicht realistisch, von Ihren Benutzern zu erwarten, dass sie sie verwenden, wenn sie nur die Tests überprüfen möchten Vorbeigehen.
Die andere Alternative besteht darin, die Testdatei nur in das andere Verzeichnis zu kopieren, aber es scheint ein bisschen dumm zu sein und es fehlt der Sinn, sie zunächst in einem separaten Verzeichnis zu haben.
Wenn Sie also gerade die Quelle in mein neues Projekt heruntergeladen hätten, wie würden Sie die Komponententests durchführen? Ich würde eine Antwort bevorzugen, mit der ich meinen Benutzern sagen könnte: "Um die Komponententests auszuführen, machen Sie X."
unittest
Befehlszeilenschnittstelle, wie in meiner Antwort unten beschrieben, damit Sie das Verzeichnis nicht zum Pfad hinzufügen müssen.