[Python-de] exclude pattern für unittests ???
Stefan Schwarzer
sschwarzer at sschwarzer.net
Mi Jan 2 16:41:26 EST 2019
On 02/01/2019 21.05, robert wrote:
> Ich habe ein Problem mit unittests.
>
> In meinem tests/.. -Verzeichnis hat es ein Modul, das von den Tests
> gebraucht wir, aber keine Tests entält.
>
> Es kann nicht fehlerfrei importiert werden, ohne dass vorher der
> Pythonpath angepasst wird.
>
> Nun scheint Python beim test-discovery zu versuchen, dieses Modul zu laden.
>
> Jedenfalls gibt es eine entsprechende Fehlermeldung:
>
> ERROR: config (unittest.loader._FailedTest)
> ----------------------------------------------------------------------
> ImportError: Failed to import test module: config
> Traceback (most recent call last):
> File "/usr/lib/python3.6/unittest/loader.py", line 462, in _find_test_path
> package = self._get_module_from_name(name)
> File "/usr/lib/python3.6/unittest/loader.py", line 369, in _get_module_from_name
> __import__(name)
> File "/home/robert/erp-workbench/tests/config/__init__.py", line 5, in <module>
> from scripts.bcolors import bcolors
> ModuleNotFoundError: No module named 'scripts'
>
> Wie kann ich das Laden dieses Moduls unterdrücken?
Wäre es nicht einfacher, den PYTHONPATH anzupassen (zum
Beispiel über die entsprechende Umgebungsvariable oder
eine `__init__.py` im übergeordneten Verzeichnis) als
das Importieren des Moduls zu unterdrücken? Eventuell
kannst du auch die Datei
`/home/robert/erp-workbench/tests/config/__init__.py` so
anpassen, dass `sys.path` richtig gesetzt ist, wenn
`scripts` wie oben importiert wird.
Oder habe ich die Frage falsch verstanden?
Gibt es noch zusätzliche Rahmenbedingungen, die wir kennen
sollten?
Viele Grüße
Stefan
Mehr Informationen über die Mailingliste python-de