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:
2026-09-29 07:33:49 +02:00
co-authored by Claude Opus 5.5
parent decd2a0002
commit 1435b157b5
3 changed files with 113 additions and 44 deletions
+60
View File
@@ -631,6 +631,66 @@
"datum": "2026-09-23", "datum": "2026-09-23",
"hash": "525b2fdab218" "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": { "sn_basis.tests.test_pruefmanager.TestPruefmanager.test_datei_existiert_append": {
"datum": "2026-09-17", "datum": "2026-09-17",
"hash": "25e169c45423" "hash": "25e169c45423"
File diff suppressed because one or more lines are too long
+25 -22
View File
@@ -8,21 +8,21 @@ für die fachliche Frage, ob die Abdeckung sinnvoll ist. Die Angaben stammen aus
selbst (Docstrings) und aus der Testbaseline. selbst (Docstrings) und aus der Testbaseline.
Stand der Baseline: `docs/status/testbaseline.json` (SHA-256 `aeabc946a7f3`) 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. Gesamt: 3 Pakete, 49 Testdateien, 600 Testfälle – 557 grün, 35 rot (Baseline), 8 übersprungen.
Mit Beschreibung (Docstring): 452 von 597 (76 %). Mit Beschreibung (Docstring): 455 von 600 (76 %).
Fachlich geprüft: 181 von 597 (30 %) aktuell, 0 veraltet seit Codeänderung, 416 nie geprüft. 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“. Strukturelle Lücken (heuristisch, Namensabgleich): 143 von 413 (35 %) Funktionen/Methoden ohne erkennbaren Testbezug – Abschnitt „Ungetestete Funktionen“.
## Zusammenfassung ## Zusammenfassung
| Paket | Testdateien | Testfälle | grün | rot (Baseline) | übersprungen | mit Beschreibung | fachlich geprüft | ohne Testbezug | | 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_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 %) | | `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 ### Legende
@@ -36,7 +36,7 @@ Strukturelle Lücken (heuristisch, Namensabgleich): 143 von 413 (35 %) Funktione
## Paket `sn_basis` ## 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` ### `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: Testgruppen:
- `AddActionTests` (2 Testfälle): — (Docstring fehlt) - `AddActionTests` (3 Testfälle): — (Docstring fehlt)
- `FinalizeMenuAndToolbarTests` (2 Testfälle): — (Docstring fehlt) - `FinalizeMenuAndToolbarTests` (4 Testfälle): — (Docstring fehlt)
- `SetActivePluginTests` (2 Testfälle): — (Docstring fehlt) - `SetActivePluginTests` (2 Testfälle): — (Docstring fehlt)
- `RemoveActionTests` (3 Testfälle): — (Docstring fehlt) - `RemoveActionTests` (3 Testfälle): — (Docstring fehlt)
- `RemoveAllTests` (3 Testfälle): — (Docstring fehlt) - `RemoveAllTests` (3 Testfälle): — (Docstring fehlt)
| Testfall | prüft | Status | geprüft | | 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_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 | 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 | 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 | nie geprüft | | `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_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 | | `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 |
| `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 | | `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 |
| `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 | | `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 |
| `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 | | `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 |
| `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 | | `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 |
| `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 | | `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 |
| `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 | | `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 |
| `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 | | `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 |
| `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 | | `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` ### `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, aus dem Quelltext erschließen. Jeder Eintrag braucht eine einzeilige Beschreibung im Testfall,
dann verschwindet er hier von selbst. 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. Keine Lücken.