Test-Audit sn_basis fortgesetzt: navigation.py fachlich geprüft (#76)
15 Testfälle fachlich geprüft und markiert: test_navigation.py komplett (12 bestehende, 3 neue für Standardpriorität, Reihenfolge bei gleicher Priorität und fehlende Toolbar). Nebenbefund: remove_action entfernt die Action aus Menü, Toolbar und Liste, aber nicht aus plugin_group und ruft kein deleteLater() auf – mögliches Überbleibsel beim Plugin-Reload, analog zu #72. Nicht behoben (kein Umbau nebenbei). Testkatalog neu erzeugt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -631,6 +631,66 @@
|
||||
"datum": "2026-09-23",
|
||||
"hash": "525b2fdab218"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.AddActionTests.test_erzeugt_action_und_fuegt_sie_gruppe_und_liste_hinzu": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "7aca9de43703"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.AddActionTests.test_ohne_plugin_group_liefert_none": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "518094424549"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.AddActionTests.test_ohne_priority_wird_standardprioritaet_100_verwendet": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "49ed3079911d"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.FinalizeMenuAndToolbarTests.test_gleiche_prioritaet_behaelt_registrierungsreihenfolge": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "7fe5c4b93d7b"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.FinalizeMenuAndToolbarTests.test_nur_menu_ohne_toolbar_laesst_menu_unveraendert": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "93cc53d73004"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.FinalizeMenuAndToolbarTests.test_ohne_menu_oder_toolbar_tut_nichts": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "f8a271e5aedf"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.FinalizeMenuAndToolbarTests.test_sortiert_und_fuegt_aktionen_in_prioritaetsreihenfolge_hinzu": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "452ef0a0228b"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.RemoveActionTests.test_entfernt_action_aus_menu_toolbar_und_liste": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "3c2aea3516cf"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.RemoveActionTests.test_none_action_tut_nichts": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "5f69f2236ec0"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.RemoveActionTests.test_ohne_menu_oder_toolbar_entfernt_trotzdem_aus_liste": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "57387489da73"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.RemoveAllTests.test_entfernt_menu_toolbar_und_setzt_zustand_zurueck": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "3d4ea907aabe"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.RemoveAllTests.test_loescht_menu_und_toolbar_objekt_damit_kein_duplikat_uebrig_bleibt": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "f6b94d873e0a"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.RemoveAllTests.test_ohne_menu_und_toolbar_ruft_wrapper_nicht_auf": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "7219c12b1516"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.SetActivePluginTests.test_ohne_aktive_action_setzt_alle_auf_false": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "e7234529c346"
|
||||
},
|
||||
"sn_basis.tests.test_navigation.SetActivePluginTests.test_setzt_nur_aktive_action_auf_checked": {
|
||||
"datum": "2026-09-29",
|
||||
"hash": "3e9505367374"
|
||||
},
|
||||
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_datei_existiert_append": {
|
||||
"datum": "2026-09-17",
|
||||
"hash": "25e169c45423"
|
||||
|
||||
+28
-22
File diff suppressed because one or more lines are too long
+25
-22
@@ -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 `4ed158c391ca`)
|
||||
Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `fbe8074a730d`)
|
||||
|
||||
Gesamt: 3 Pakete, 49 Testdateien, 597 Testfälle – 554 grün, 35 rot (Baseline), 8 übersprungen.
|
||||
Mit Beschreibung (Docstring): 452 von 597 (76 %).
|
||||
Fachlich geprüft: 181 von 597 (30 %) aktuell, 0 veraltet seit Codeänderung, 416 nie geprüft.
|
||||
Gesamt: 3 Pakete, 49 Testdateien, 600 Testfälle – 557 grün, 35 rot (Baseline), 8 übersprungen.
|
||||
Mit Beschreibung (Docstring): 455 von 600 (76 %).
|
||||
Fachlich geprüft: 196 von 600 (33 %) aktuell, 0 veraltet seit Codeänderung, 404 nie geprüft.
|
||||
Strukturelle Lücken (heuristisch, Namensabgleich): 143 von 413 (35 %) 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 | 345 | 345 | 0 | 0 | 345 von 345 (100 %) | 181 von 345 (52 %) | 70 von 229 (31 %) |
|
||||
| `sn_basis` | 32 | 348 | 348 | 0 | 0 | 348 von 348 (100 %) | 196 von 348 (56 %) | 70 von 229 (31 %) |
|
||||
| `sn_verfahrensgebiet` | 12 | 208 | 166 | 34 | 8 | 106 von 208 (51 %) | 0 von 208 (0 %) | 34 von 104 (33 %) |
|
||||
| `sn_plan41` | 5 | 44 | 43 | 1 | 0 | 1 von 44 (2 %) | 0 von 44 (0 %) | 39 von 80 (49 %) |
|
||||
| **Summe** | **49** | **597** | **554** | **35** | **8** | **452 von 597 (76 %)** | **181 von 597 (30 %)** | **143 von 413 (35 %)** |
|
||||
| **Summe** | **49** | **600** | **557** | **35** | **8** | **455 von 600 (76 %)** | **196 von 600 (33 %)** | **143 von 413 (35 %)** |
|
||||
|
||||
### Legende
|
||||
|
||||
@@ -36,7 +36,7 @@ Strukturelle Lücken (heuristisch, Namensabgleich): 143 von 413 (35 %) Funktione
|
||||
|
||||
## Paket `sn_basis`
|
||||
|
||||
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 32 Testdateien mit 345 Testfällen (345 grün, 0 rot, 0 übersprungen).
|
||||
Plattform-Plugin, Ordner `Plugin_SN_Basis` – 32 Testdateien mit 348 Testfällen (348 grün, 0 rot, 0 übersprungen).
|
||||
|
||||
### `Plugin_SN_Basis/tests/test_base_dockwidget.py`
|
||||
|
||||
@@ -400,26 +400,29 @@ Worum es in der Datei geht: Tests für sn_basis/ui/navigation.py::Navigation (Is
|
||||
|
||||
Testgruppen:
|
||||
|
||||
- `AddActionTests` (2 Testfälle): — (Docstring fehlt)
|
||||
- `FinalizeMenuAndToolbarTests` (2 Testfälle): — (Docstring fehlt)
|
||||
- `AddActionTests` (3 Testfälle): — (Docstring fehlt)
|
||||
- `FinalizeMenuAndToolbarTests` (4 Testfälle): — (Docstring fehlt)
|
||||
- `SetActivePluginTests` (2 Testfälle): — (Docstring fehlt)
|
||||
- `RemoveActionTests` (3 Testfälle): — (Docstring fehlt)
|
||||
- `RemoveAllTests` (3 Testfälle): — (Docstring fehlt)
|
||||
|
||||
| Testfall | prüft | Status | geprüft |
|
||||
| --- | --- | --- | --- |
|
||||
| `AddActionTests.test_ohne_plugin_group_liefert_none` | Prüft, dass add_action ohne initialisierte Aktionsgruppe None liefert und nichts anlegt. | grün | nie geprüft |
|
||||
| `AddActionTests.test_erzeugt_action_und_fuegt_sie_gruppe_und_liste_hinzu` | Prüft, dass add_action eine Action erzeugt, ihr die Gruppe zuweist und sie priorisiert in der Liste ablegt. | grün | nie geprüft |
|
||||
| `FinalizeMenuAndToolbarTests.test_ohne_menu_oder_toolbar_tut_nichts` | Prüft, dass finalize_menu_and_toolbar ohne Menü oder Toolbar keine Ausnahme wirft. | grün | nie geprüft |
|
||||
| `FinalizeMenuAndToolbarTests.test_sortiert_und_fuegt_aktionen_in_prioritaetsreihenfolge_hinzu` | Prüft, dass finalize_menu_and_toolbar Aktionen nach Priorität sortiert in Menü und Toolbar einträgt. | grün | nie geprüft |
|
||||
| `SetActivePluginTests.test_setzt_nur_aktive_action_auf_checked` | Prüft, dass set_active_plugin nur die übergebene Action markiert, alle anderen abwählt. | grün | nie geprüft |
|
||||
| `SetActivePluginTests.test_ohne_aktive_action_setzt_alle_auf_false` | Prüft, dass set_active_plugin ohne aktive Action alle bestehenden Actions abwählt. | grün | nie geprüft |
|
||||
| `RemoveActionTests.test_none_action_tut_nichts` | Prüft, dass remove_action mit None keine Ausnahme wirft und die Liste unverändert lässt. | grün | nie geprüft |
|
||||
| `RemoveActionTests.test_entfernt_action_aus_menu_toolbar_und_liste` | Prüft, dass remove_action die Action aus Menü, Toolbar und der internen Liste entfernt. | grün | nie geprüft |
|
||||
| `RemoveActionTests.test_ohne_menu_oder_toolbar_entfernt_trotzdem_aus_liste` | Prüft, dass remove_action ohne Menü/Toolbar trotzdem aus der internen Liste entfernt. | grün | nie geprüft |
|
||||
| `RemoveAllTests.test_entfernt_menu_toolbar_und_setzt_zustand_zurueck` | Prüft, dass remove_all Menü und Toolbar über die Wrapper entfernt und den Navigationszustand zurücksetzt. | grün | nie geprüft |
|
||||
| `RemoveAllTests.test_loescht_menu_und_toolbar_objekt_damit_kein_duplikat_uebrig_bleibt` | Prüft, dass remove_all deleteLater() auf Menü und Toolbar aufruft, damit sie den Qt-Objektbaum tatsächlich verlassen (Issue #72). | grün | nie geprüft |
|
||||
| `RemoveAllTests.test_ohne_menu_und_toolbar_ruft_wrapper_nicht_auf` | Prüft, dass remove_all ohne vorhandenes Menü/Toolbar die Wrapper nicht aufruft, aber die Liste leert. | grün | nie geprüft |
|
||||
| `AddActionTests.test_ohne_plugin_group_liefert_none` | Prüft, dass add_action ohne initialisierte Aktionsgruppe None liefert und nichts anlegt. | grün | geprüft am 2026-09-29 |
|
||||
| `AddActionTests.test_erzeugt_action_und_fuegt_sie_gruppe_und_liste_hinzu` | Prüft, dass add_action eine Action erzeugt, ihr die Gruppe zuweist und sie priorisiert in der Liste ablegt. | grün | geprüft am 2026-09-29 |
|
||||
| `AddActionTests.test_ohne_priority_wird_standardprioritaet_100_verwendet` | Prüft, dass add_action ohne Angabe von priority die Standardpriorität 100 ablegt. | grün | geprüft am 2026-09-29 |
|
||||
| `FinalizeMenuAndToolbarTests.test_ohne_menu_oder_toolbar_tut_nichts` | Prüft, dass finalize_menu_and_toolbar ohne Menü oder Toolbar keine Ausnahme wirft. | grün | geprüft am 2026-09-29 |
|
||||
| `FinalizeMenuAndToolbarTests.test_sortiert_und_fuegt_aktionen_in_prioritaetsreihenfolge_hinzu` | Prüft, dass finalize_menu_and_toolbar Aktionen nach Priorität sortiert in Menü und Toolbar einträgt. | grün | geprüft am 2026-09-29 |
|
||||
| `FinalizeMenuAndToolbarTests.test_nur_menu_ohne_toolbar_laesst_menu_unveraendert` | Prüft, dass finalize_menu_and_toolbar bei fehlender Toolbar auch das vorhandene Menü nicht leert oder befüllt. | grün | geprüft am 2026-09-29 |
|
||||
| `FinalizeMenuAndToolbarTests.test_gleiche_prioritaet_behaelt_registrierungsreihenfolge` | Prüft, dass finalize_menu_and_toolbar Aktionen gleicher Priorität in der Reihenfolge ihrer Registrierung einträgt. | grün | geprüft am 2026-09-29 |
|
||||
| `SetActivePluginTests.test_setzt_nur_aktive_action_auf_checked` | Prüft, dass set_active_plugin nur die übergebene Action markiert, alle anderen abwählt. | grün | geprüft am 2026-09-29 |
|
||||
| `SetActivePluginTests.test_ohne_aktive_action_setzt_alle_auf_false` | Prüft, dass set_active_plugin ohne aktive Action alle bestehenden Actions abwählt. | grün | geprüft am 2026-09-29 |
|
||||
| `RemoveActionTests.test_none_action_tut_nichts` | Prüft, dass remove_action mit None keine Ausnahme wirft und die Liste unverändert lässt. | grün | geprüft am 2026-09-29 |
|
||||
| `RemoveActionTests.test_entfernt_action_aus_menu_toolbar_und_liste` | Prüft, dass remove_action die Action aus Menü, Toolbar und der internen Liste entfernt. | grün | geprüft am 2026-09-29 |
|
||||
| `RemoveActionTests.test_ohne_menu_oder_toolbar_entfernt_trotzdem_aus_liste` | Prüft, dass remove_action ohne Menü/Toolbar trotzdem aus der internen Liste entfernt. | grün | geprüft am 2026-09-29 |
|
||||
| `RemoveAllTests.test_entfernt_menu_toolbar_und_setzt_zustand_zurueck` | Prüft, dass remove_all Menü und Toolbar über die Wrapper entfernt und den Navigationszustand zurücksetzt. | grün | geprüft am 2026-09-29 |
|
||||
| `RemoveAllTests.test_loescht_menu_und_toolbar_objekt_damit_kein_duplikat_uebrig_bleibt` | Prüft, dass remove_all deleteLater() auf Menü und Toolbar aufruft, damit sie den Qt-Objektbaum tatsächlich verlassen (Issue #72). | grün | geprüft am 2026-09-29 |
|
||||
| `RemoveAllTests.test_ohne_menu_und_toolbar_ruft_wrapper_nicht_auf` | Prüft, dass remove_all ohne vorhandenes Menü/Toolbar die Wrapper nicht aufruft, aber die Liste leert. | grün | geprüft am 2026-09-29 |
|
||||
|
||||
### `Plugin_SN_Basis/tests/test_os_wrapper.py`
|
||||
|
||||
@@ -1269,7 +1272,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 345 Testfällen ohne Beschreibung
|
||||
### `sn_basis` – 0 von 348 Testfällen ohne Beschreibung
|
||||
|
||||
Keine Lücken.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user