Ich habe gerade ein Python-Paket "portiert", das ich an PyCharm schreibe, und habe ein bisschen Probleme beim Ausführen von Komponententests für das gesamte Paket von der IDE.Ausführen von Python-Paketeinheitstests in PyCharm
In __init__.py
für das Paket habe ich load_tests
Funktion, die über alle Module in der Verpackung und lädt relevante Tests. Es läuft hervorragend mit:
$python -m unittest my_package
Allerdings, wenn ich es von PyCharm versuchen läuft (durch das Top-Verzeichnis im Projektfenster auswählen und schlagen Strg + + F10 Umschalttaste) I No tests were found
im Run-Fenster zu erhalten, und
...\python.exe ...\pycharm\utrunner.py .../my_package/ true
Testing started at ...
Process finished with exit code 0
Empty test suite.
im Konsolenfenster.
Ich warf einen kurzen Blick auf PyCharms utrunner.py
und es scheint, dass es nach Modulen mit einem bestimmten Muster sucht (die mit Test beginnen). Ich möchte den gegenwärtigen Vanilla-Ansatz beibehalten. Wie kann ich PyCharm so konfigurieren, dass load_tests
von __init__.py
verwendet wird, während der Code so wenig wie möglich geändert wird?
Übrigens, Testsuiten für einzelne Module laufen bei PyCharm gut.
Verwenden von PyCharm 3.1 Community Edition, Python 2.7.
Vielen Dank im Voraus.
Sie fügen in 'Einstellungen> Projektstruktur> einen anderen Stammordner kann Inhaltsstamm hinzufügen ". – simonzack
Nur ein FYI, für andere ... es dauerte eine Weile, aber "Muster" verwendet eine ** Regex **, nicht eine normale Shell-Glob wie '* Test.py'. Wenn man so etwas benutzt, stürzt der Testläufer ab. Ich wusste nicht, dass es eine Regex wollte, bis ich auf die Stack-Spur schaute! –
Ich bin froh, dass du mir den Weg gezeigt hast. –