Projektstruktur in VS Code mit unittesting
Verfasst: Freitag 13. Juni 2025, 10:11
Hallo zusammen,
als Python-Neuling versuche ich mich gerade in die Projektorganisation (Ordnerstruktur, unittesting, etc...) einzuarbeiten. Als Programmierumgebung nutze ich VS Code auf einem Mac.
Bei dem Demo-Projekt solle ein Package entstehen. Dazu habe ich mit uv init demo-projekt erst mal einen Ordner aufgesetzt und darin folgende Ordner/Datei-Struktur angelegt:
main.py, pyproject.toml und einige weitere Dateien u. Ordner wurden von uv automatisch angelegt, aber um die soll es nicht gehen...
Für das in VS Code integrierte Python Testing habe ich folgende Konfiguration durchgeführt:
test_mein_modul.py sieht so aus:
Was geht:
als Python-Neuling versuche ich mich gerade in die Projektorganisation (Ordnerstruktur, unittesting, etc...) einzuarbeiten. Als Programmierumgebung nutze ich VS Code auf einem Mac.
Bei dem Demo-Projekt solle ein Package entstehen. Dazu habe ich mit uv init demo-projekt erst mal einen Ordner aufgesetzt und darin folgende Ordner/Datei-Struktur angelegt:
Code: Alles auswählen
demo-projekt/
demo-projekt/
__init__.py
mein_modul.py
tests/
__init__.py
test_mein_modul.py
main.py
pyproject.toml
...
Für das in VS Code integrierte Python Testing habe ich folgende Konfiguration durchgeführt:
Code: Alles auswählen
{
"python.testing.unittestArgs": [
"-v",
"-s",
"./tests",
"-p",
"test_*.py"
],
"python.testing.pytestEnabled": false,
"python.testing.unittestEnabled": true,
}
Code: Alles auswählen
import unittest
from demo-projekt import mein_modul
...
# Damit die test_....py direkt als Skript gestartet werden kann:
if __name__ == "__main__":
unittest.main()
- In VS Code integrierte Tests
Code: Alles auswählen
Received test ids from temp file. test_funkt1 (test_mein_modul.TestMeinModul.test_funkt1) ... ok test_funkt2 (test_mein_modul.TestMeinModul.test_funkt2) ... ok test_non_value (test_mein_modul.TestMeinModul.test_non_value) ... ok ---------------------------------------------------------------------- Ran 3 tests in 0.000s OK Finished running tests!
- python3 -m unittest tests/test_mein_modul.py
Code: Alles auswählen
... ---------------------------------------------------------------------- Ran 3 tests in 0.000s OK
- python3 tests/test_mein_modul.py
Code: Alles auswählen
Traceback (most recent call last): File "/Users/panderl/develop/Python/demo-projekt/tests/test_mein_modul.py", line 3, in <module> from demo-projekt import mein_modul ModuleNotFoundError: No module named 'demo-projekt'