Test-Audit sn_basis fortgesetzt: sys_wrapper.py fachlich geprüft (#76)
10 Testfälle nach Freigabe als geprüft markiert: test_sys_wrapper.py komplett (5 bisher ungeprüfte, davon 1 geschärft, und 5 neue für file_exists und getattr_safe; get_plugin_root war bereits am 17.09.2026 geprüft). Ein neuer Test hält den Ist-Zustand fest, dass file_exists auch Verzeichnisse als vorhanden meldet; dazu Issue-Entwurf „file_exists: Verzeichnis gilt als vorhandene Datei" vorbereitet. Testkatalog neu erzeugt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1059,6 +1059,46 @@
|
||||
"datum": "2026-09-17",
|
||||
"hash": "7a3d7bd800c3"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.EnsureDirTests.test_legt_fehlendes_verzeichnis_inklusive_eltern_an": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "dada5d5e45b9"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.EnsureDirTests.test_vorhandenes_verzeichnis_wirft_keinen_fehler": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "923d99e4edf3"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.FileExistsTests.test_fehlende_datei_liefert_false": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "455c81b667df"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.FileExistsTests.test_ungueltiger_pfad_liefert_false_statt_ausnahme": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "b2baf1004522"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.FileExistsTests.test_verzeichnis_gilt_derzeit_als_vorhandene_datei": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "8e791a249d44"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.FileExistsTests.test_vorhandene_datei_liefert_true": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "914d1ed618fd"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.GetattrSafeTests.test_liefert_default_bei_fehlendem_attribut": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "bfcc23ca76f3"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.GetattrSafeTests.test_liefert_default_wenn_attributzugriff_andere_ausnahme_wirft": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "6a2e61b48bbc"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.GetattrSafeTests.test_liefert_vorhandenes_attribut": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "1ab2ddfc9d4f"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.JoinPathTests.test_verbindet_mehrere_pfadbestandteile": {
|
||||
"datum": "2026-10-26",
|
||||
"hash": "5954b3f27357"
|
||||
},
|
||||
"sn_basis.tests.test_sys_wrapper.TestGetPluginRoot.test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung": {
|
||||
"datum": "2026-09-17",
|
||||
"hash": "c9b434520d62"
|
||||
|
||||
+28
-16
File diff suppressed because one or more lines are too long
+20
-14
@@ -8,21 +8,21 @@ für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus
|
||||
selbst (Docstrings) und aus der Testbaseline.
|
||||
|
||||
Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`)
|
||||
Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `119f79e142a0`)
|
||||
Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `925d01586dbc`)
|
||||
|
||||
Gesamt: 3 Pakete, 55 Testdateien, 691 Testfälle – 648 grün, 35 rot (Baseline), 8 übersprungen.
|
||||
Mit Beschreibung (Docstring): 546 von 691 (79 %).
|
||||
Fachlich geprüft: 266 von 691 (38 %) aktuell, 0 veraltet seit Codeänderung, 425 nie geprüft.
|
||||
Gesamt: 3 Pakete, 55 Testdateien, 696 Testfälle – 653 grün, 35 rot (Baseline), 8 übersprungen.
|
||||
Mit Beschreibung (Docstring): 551 von 696 (79 %).
|
||||
Fachlich geprüft: 276 von 696 (40 %) aktuell, 0 veraltet seit Codeänderung, 420 nie geprüft.
|
||||
Strukturelle Lücken (heuristisch, Namensabgleich): 160 von 470 (34 %) Funktionen/Methoden ohne erkennbaren Testbezug – Abschnitt „Ungetestete Funktionen“.
|
||||
|
||||
## Zusammenfassung
|
||||
|
||||
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft | ohne Testbezug |
|
||||
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
|
||||
| `sn_basis` | 32 | 358 | 358 | 0 | 0 | 358 von 358 (100 %) | 266 von 358 (74 %) | 70 von 229 (31 %) |
|
||||
| `sn_basis` | 32 | 363 | 363 | 0 | 0 | 363 von 363 (100 %) | 276 von 363 (76 %) | 70 von 229 (31 %) |
|
||||
| `sn_verfahrensgebiet` | 18 | 289 | 247 | 34 | 8 | 187 von 289 (65 %) | 0 von 289 (0 %) | 51 von 161 (32 %) |
|
||||
| `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) | 39 von 80 (49 %) |
|
||||
| **Summe** | **55** | **691** | **648** | **35** | **8** | **546 von 691 (79 %)** | **266 von 691 (38 %)** | **160 von 470 (34 %)** |
|
||||
| **Summe** | **55** | **696** | **653** | **35** | **8** | **551 von 696 (79 %)** | **276 von 696 (40 %)** | **160 von 470 (34 %)** |
|
||||
|
||||
### Legende
|
||||
|
||||
@@ -36,7 +36,7 @@ Strukturelle Lücken (heuristisch, Namensabgleich): 160 von 470 (34 %) Funktione
|
||||
|
||||
## Paket `sn_basis`
|
||||
|
||||
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 32 Testdateien mit 358 Testfällen (358 grün, 0 rot, 0 übersprungen).
|
||||
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 32 Testdateien mit 363 Testfällen (363 grün, 0 rot, 0 übersprungen).
|
||||
|
||||
### `Plugin_SN_Basis/tests/test_base_dockwidget.py`
|
||||
|
||||
@@ -722,17 +722,23 @@ Testgruppen:
|
||||
|
||||
- `TestGetPluginRoot` (1 Testfälle): — (Docstring fehlt)
|
||||
- `JoinPathTests` (1 Testfälle): — (Docstring fehlt)
|
||||
- `FileExistsTests` (4 Testfälle): — (Docstring fehlt)
|
||||
- `EnsureDirTests` (2 Testfälle): — (Docstring fehlt)
|
||||
- `GetattrSafeTests` (2 Testfälle): — (Docstring fehlt)
|
||||
- `GetattrSafeTests` (3 Testfälle): — (Docstring fehlt)
|
||||
|
||||
| Testfall | prüft | Status | geprüft |
|
||||
| --- | --- | --- | --- |
|
||||
| `TestGetPluginRoot.test_get_plugin_root_folgt_keiner_verzeichnisverknuepfung` | Prüft, dass get_plugin_root() bei einem über eine Verzeichnisverknüpfung (wie von link_qgis_profile.py angelegt) erreichten Modul den verlinkten Pfad liefert, statt zum echten Zielverzeichnis aufzulösen (Verfahrensgebiet #50). | grün | geprüft am 2026-09-17 |
|
||||
| `JoinPathTests.test_verbindet_mehrere_pfadbestandteile` | Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt. | grün | nie geprüft |
|
||||
| `EnsureDirTests.test_legt_fehlendes_verzeichnis_inklusive_eltern_an` | Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt. | grün | nie geprüft |
|
||||
| `EnsureDirTests.test_vorhandenes_verzeichnis_wirft_keinen_fehler` | Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft. | grün | nie geprüft |
|
||||
| `GetattrSafeTests.test_liefert_vorhandenes_attribut` | Prüft, dass getattr_safe ein vorhandenes Attribut liefert. | grün | nie geprüft |
|
||||
| `GetattrSafeTests.test_liefert_default_bei_fehlendem_attribut` | Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert. | grün | nie geprüft |
|
||||
| `JoinPathTests.test_verbindet_mehrere_pfadbestandteile` | Prüft, dass join_path mehrere Bestandteile OS-sicher zu einem Path zusammenfügt. | grün | geprüft am 2026-10-26 |
|
||||
| `FileExistsTests.test_vorhandene_datei_liefert_true` | Prüft, dass file_exists für eine vorhandene Datei True liefert. | grün | geprüft am 2026-10-26 |
|
||||
| `FileExistsTests.test_fehlende_datei_liefert_false` | Prüft, dass file_exists für eine nicht vorhandene Datei False liefert. | grün | geprüft am 2026-10-26 |
|
||||
| `FileExistsTests.test_ungueltiger_pfad_liefert_false_statt_ausnahme` | Prüft, dass file_exists für einen ungültigen Pfad (Nullzeichen) False liefert, statt eine Ausnahme zu werfen. | grün | geprüft am 2026-10-26 |
|
||||
| `FileExistsTests.test_verzeichnis_gilt_derzeit_als_vorhandene_datei` | Prüft, dass file_exists derzeit auch für ein Verzeichnis True liefert (Ist-Zustand, nicht bestätigt gewünscht). | grün | geprüft am 2026-10-26 |
|
||||
| `EnsureDirTests.test_legt_fehlendes_verzeichnis_inklusive_eltern_an` | Prüft, dass ensure_dir ein fehlendes Verzeichnis samt Elternverzeichnissen anlegt. | grün | geprüft am 2026-10-26 |
|
||||
| `EnsureDirTests.test_vorhandenes_verzeichnis_wirft_keinen_fehler` | Prüft, dass ensure_dir bei einem bereits vorhandenen Verzeichnis keinen Fehler wirft und den Pfad liefert. | grün | geprüft am 2026-10-26 |
|
||||
| `GetattrSafeTests.test_liefert_vorhandenes_attribut` | Prüft, dass getattr_safe ein vorhandenes Attribut liefert. | grün | geprüft am 2026-10-26 |
|
||||
| `GetattrSafeTests.test_liefert_default_bei_fehlendem_attribut` | Prüft, dass getattr_safe bei fehlendem Attribut den Default-Wert liefert. | grün | geprüft am 2026-10-26 |
|
||||
| `GetattrSafeTests.test_liefert_default_wenn_attributzugriff_andere_ausnahme_wirft` | Prüft, dass getattr_safe auch bei einer anderen Ausnahme als AttributeError den Default-Wert liefert. | grün | geprüft am 2026-10-26 |
|
||||
|
||||
### `Plugin_SN_Basis/tests/test_text_wrapper.py`
|
||||
|
||||
@@ -1443,7 +1449,7 @@ Arbeitsliste: Diese Testfälle haben keinen Docstring; was sie fachlich prüfen,
|
||||
aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall,
|
||||
dann verschwindet er hier von selbst.
|
||||
|
||||
### `sn_basis` – 0 von 358 Testfällen ohne Beschreibung
|
||||
### `sn_basis` – 0 von 363 Testfällen ohne Beschreibung
|
||||
|
||||
Keine Lücken.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user