Möchte gern, das es:
* von "setup.py" läuft: alle tests: "./setup.py test" und auch bsp.: "./setup.py test ModuleFoo.test_bar"
* direkt Laufbar alle: "python ./tests/runtests.py" bzw.: "python ./tests/runtests.py ModuleFoo.test_bar"
* indirekt Laufbar, bsp: "python -m unittest discover"
Hinzu kommt, das ich gern die normalen Argumente wie --verbose, --failfast unterstützen möchte...
Sehe irgendwie keine Möglichkeit dazu, ohne viel eigenen Code zu schreiben. Dabei gibt es im Prinzip alles im unitest Modul.
z.B. sieht meine /tests/runtests.py so aus:
Code: Alles auswählen
import os
import unittest
import sys
if __name__ == "__main__":
loader = unittest.TestLoader()
start_dir = os.path.join(os.path.dirname(__file__))
top_level_dir = os.path.join(start_dir, "..")
suite = loader.discover(start_dir, top_level_dir=top_level_dir)
runner = unittest.TextTestRunner(
verbosity=2,
# failfast=True,
)
result = runner.run(suite)
sys.exit(len(result.errors) + len(result.failures))