Test-Audit sn_basis fortgesetzt: Pruefmanager.py fachlich geprüft (#76)
14 Testfälle nach Freigabe als geprüft markiert: test_pruefmanager.py komplett (12 bestehende, 2 neue für Meldung/Kontext und Standardtext beim Verfahrensgebiet-Dialog). Nebenbefunde (wirkungslose warn_actions, layer_create_failed ohne PruefAktion, uneinheitlicher Import von ask_text) als Issue-Entwurf vorbereitet. Testkatalog neu erzeugt. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -775,6 +775,22 @@
|
|||||||
"datum": "2026-09-17",
|
"datum": "2026-09-17",
|
||||||
"hash": "b1a1017d7970"
|
"hash": "b1a1017d7970"
|
||||||
},
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_frage_ja_nein_ausserhalb_qgis_liefert_default_ohne_rueckfrage": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "abe1e7343ee4"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_frage_ja_nein_im_qgis_modus_fragt_nutzer": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "fd1db60647fd"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_frage_text_ausserhalb_qgis_liefert_default_ohne_rueckfrage": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "9193acd4ab49"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_frage_text_im_qgis_modus_fragt_nutzer": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "7ba9c25a459c"
|
||||||
|
},
|
||||||
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_layer_unsichtbar_ja": {
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_layer_unsichtbar_ja": {
|
||||||
"datum": "2026-09-17",
|
"datum": "2026-09-17",
|
||||||
"hash": "c6090b772bf0"
|
"hash": "c6090b772bf0"
|
||||||
@@ -795,6 +811,18 @@
|
|||||||
"datum": "2026-09-17",
|
"datum": "2026-09-17",
|
||||||
"hash": "7183f163899a"
|
"hash": "7183f163899a"
|
||||||
},
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_report_error_kritische_aktion_ruft_error_auf": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "11a47387b1bd"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_report_error_unbekannte_aktion_faellt_auf_warning_zurueck": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "50fbf367421e"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_report_error_warn_aktion_ruft_warning_auf": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "519fbaa75651"
|
||||||
|
},
|
||||||
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_standarddatei_vorschlagen_ja": {
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_standarddatei_vorschlagen_ja": {
|
||||||
"datum": "2026-09-17",
|
"datum": "2026-09-17",
|
||||||
"hash": "7fe9491d4249"
|
"hash": "7fe9491d4249"
|
||||||
@@ -815,6 +843,34 @@
|
|||||||
"datum": "2026-09-17",
|
"datum": "2026-09-17",
|
||||||
"hash": "e369c5874b64"
|
"hash": "e369c5874b64"
|
||||||
},
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_verfahrensgebiet_layer_existiert_abbrechen": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "2d15b820d589"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_verfahrensgebiet_layer_existiert_entfernen": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "e9198c14572a"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_verfahrensgebiet_layer_existiert_ergaenzen": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "f043bfa2b521"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_verfahrensgebiet_layer_existiert_ersetzen": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "53c078a269ef"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_verfahrensgebiet_layer_existiert_in_non_qgis_mode_returns_input": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "cbb7d1db019f"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_verfahrensgebiet_layer_existiert_ohne_meldung_zeigt_standardtext": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "42cc03387488"
|
||||||
|
},
|
||||||
|
"sn_basis.tests.test_pruefmanager.TestPruefmanager.test_verfahrensgebiet_layer_existiert_reicht_meldung_und_kontext_durch": {
|
||||||
|
"datum": "2026-09-29",
|
||||||
|
"hash": "460a969e39b6"
|
||||||
|
},
|
||||||
"sn_basis.tests.test_settings_logic.TestSettingsLogic.test_load": {
|
"sn_basis.tests.test_settings_logic.TestSettingsLogic.test_load": {
|
||||||
"datum": "2026-09-17",
|
"datum": "2026-09-17",
|
||||||
"hash": "f14c558bc597"
|
"hash": "f14c558bc597"
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
+18
-18
@@ -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 `a34ebc0c74c7`)
|
Stand des Prüf-Audits: `docs/status/testpruefungen.json` (SHA-256 `d8a74fea7cc6`)
|
||||||
|
|
||||||
Gesamt: 3 Pakete, 49 Testdateien, 605 Testfälle – 562 grün, 35 rot (Baseline), 8 übersprungen.
|
Gesamt: 3 Pakete, 49 Testdateien, 605 Testfälle – 562 grün, 35 rot (Baseline), 8 übersprungen.
|
||||||
Mit Beschreibung (Docstring): 460 von 605 (76 %).
|
Mit Beschreibung (Docstring): 460 von 605 (76 %).
|
||||||
Fachlich geprüft: 213 von 605 (35 %) aktuell, 0 veraltet seit Codeänderung, 392 nie geprüft.
|
Fachlich geprüft: 227 von 605 (38 %) aktuell, 0 veraltet seit Codeänderung, 378 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 | 353 | 353 | 0 | 0 | 353 von 353 (100 %) | 213 von 353 (60 %) | 70 von 229 (31 %) |
|
| `sn_basis` | 32 | 353 | 353 | 0 | 0 | 353 von 353 (100 %) | 227 von 353 (64 %) | 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** | **605** | **562** | **35** | **8** | **460 von 605 (76 %)** | **213 von 605 (35 %)** | **143 von 413 (35 %)** |
|
| **Summe** | **49** | **605** | **562** | **35** | **8** | **460 von 605 (76 %)** | **227 von 605 (38 %)** | **143 von 413 (35 %)** |
|
||||||
|
|
||||||
### Legende
|
### Legende
|
||||||
|
|
||||||
@@ -591,20 +591,20 @@ Testgruppen:
|
|||||||
| `TestPruefmanager.test_datei_existiert_append` | Prüft, dass die Nutzerwahl 'anhängen' bei bestehender Datei zur Aktion 'datei_existiert_anhaengen' führt. | grün | geprüft am 2026-09-17 |
|
| `TestPruefmanager.test_datei_existiert_append` | Prüft, dass die Nutzerwahl 'anhängen' bei bestehender Datei zur Aktion 'datei_existiert_anhaengen' führt. | grün | geprüft am 2026-09-17 |
|
||||||
| `TestPruefmanager.test_datei_existiert_cancel` | Prüft, dass die Nutzerwahl 'abbrechen' bei bestehender Datei zur Aktion 'datei_existiert_ueberspringen' führt. | grün | geprüft am 2026-09-17 |
|
| `TestPruefmanager.test_datei_existiert_cancel` | Prüft, dass die Nutzerwahl 'abbrechen' bei bestehender Datei zur Aktion 'datei_existiert_ueberspringen' führt. | grün | geprüft am 2026-09-17 |
|
||||||
| `TestPruefmanager.test_datei_existiert_in_non_qgis_mode_returns_input` | Prüft, dass außerhalb des QGIS-Modus bei bestehender Datei keine Rückfrage erfolgt, sondern die ursprüngliche Aktion unentschieden zurückgegeben wird. | grün | geprüft am 2026-09-17 |
|
| `TestPruefmanager.test_datei_existiert_in_non_qgis_mode_returns_input` | Prüft, dass außerhalb des QGIS-Modus bei bestehender Datei keine Rückfrage erfolgt, sondern die ursprüngliche Aktion unentschieden zurückgegeben wird. | grün | geprüft am 2026-09-17 |
|
||||||
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_ergaenzen` | Prüft, dass die Nutzerwahl 'ergänzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ergaenzen' führt. | grün | nie geprüft |
|
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_ergaenzen` | Prüft, dass die Nutzerwahl 'ergänzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ergaenzen' führt. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_abbrechen` | Prüft, dass die Nutzerwahl 'abbrechen' bei bestehendem Verfahrensgebiet ok=False mit Aktion 'verfahrensgebiet_abbrechen' liefert. | grün | nie geprüft |
|
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_abbrechen` | Prüft, dass die Nutzerwahl 'abbrechen' bei bestehendem Verfahrensgebiet ok=False mit Aktion 'verfahrensgebiet_abbrechen' liefert. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_entfernen` | Prüft, dass die Nutzerwahl 'entfernen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_entfernen' führt. | grün | nie geprüft |
|
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_entfernen` | Prüft, dass die Nutzerwahl 'entfernen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_entfernen' führt. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_ersetzen` | Prüft, dass die Nutzerwahl 'ersetzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ersetzen' führt. | grün | nie geprüft |
|
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_ersetzen` | Prüft, dass die Nutzerwahl 'ersetzen' bei bestehendem Verfahrensgebiet zur Aktion 'verfahrensgebiet_ersetzen' führt. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_reicht_meldung_und_kontext_durch` | Prüft, dass der Dialog die Meldung des Aufrufers zeigt und die Entscheidung den Kontext (bestehender Layer) weiterträgt. | grün | nie geprüft |
|
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_reicht_meldung_und_kontext_durch` | Prüft, dass der Dialog die Meldung des Aufrufers zeigt und die Entscheidung den Kontext (bestehender Layer) weiterträgt. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_ohne_meldung_zeigt_standardtext` | Prüft, dass der Dialog ohne Meldung des Aufrufers einen Standardtext mit der Frage nach dem weiteren Vorgehen zeigt. | grün | nie geprüft |
|
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_ohne_meldung_zeigt_standardtext` | Prüft, dass der Dialog ohne Meldung des Aufrufers einen Standardtext mit der Frage nach dem weiteren Vorgehen zeigt. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_in_non_qgis_mode_returns_input` | Prüft, dass außerhalb des QGIS-Modus bei bestehendem Verfahrensgebiet keine Rückfrage erfolgt. | grün | nie geprüft |
|
| `TestPruefmanager.test_verfahrensgebiet_layer_existiert_in_non_qgis_mode_returns_input` | Prüft, dass außerhalb des QGIS-Modus bei bestehendem Verfahrensgebiet keine Rückfrage erfolgt. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_report_error_kritische_aktion_ruft_error_auf` | Prüft, dass eine kritische Aktion (z. B. 'netzwerkfehler') über error() gemeldet wird, nicht über warning(). | grün | nie geprüft |
|
| `TestPruefmanager.test_report_error_kritische_aktion_ruft_error_auf` | Prüft, dass eine kritische Aktion (z. B. 'netzwerkfehler') über error() gemeldet wird, nicht über warning(). | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_report_error_warn_aktion_ruft_warning_auf` | Prüft, dass eine Warn-Aktion (z. B. 'datei_nicht_gefunden') über warning() gemeldet wird, nicht über error(). | grün | nie geprüft |
|
| `TestPruefmanager.test_report_error_warn_aktion_ruft_warning_auf` | Prüft, dass eine Warn-Aktion (z. B. 'datei_nicht_gefunden') über warning() gemeldet wird, nicht über error(). | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_report_error_unbekannte_aktion_faellt_auf_warning_zurueck` | Prüft, dass eine nicht eingestufte Aktion als Fallback über warning() gemeldet wird. | grün | nie geprüft |
|
| `TestPruefmanager.test_report_error_unbekannte_aktion_faellt_auf_warning_zurueck` | Prüft, dass eine nicht eingestufte Aktion als Fallback über warning() gemeldet wird. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_frage_ja_nein_im_qgis_modus_fragt_nutzer` | Prüft, dass frage_ja_nein im QGIS-Modus den Nutzer fragt und dessen Antwort liefert. | grün | nie geprüft |
|
| `TestPruefmanager.test_frage_ja_nein_im_qgis_modus_fragt_nutzer` | Prüft, dass frage_ja_nein im QGIS-Modus den Nutzer fragt und dessen Antwort liefert. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_frage_ja_nein_ausserhalb_qgis_liefert_default_ohne_rueckfrage` | Prüft, dass frage_ja_nein außerhalb des QGIS-Modus den Default-Wert liefert, ohne den Nutzer zu fragen. | grün | nie geprüft |
|
| `TestPruefmanager.test_frage_ja_nein_ausserhalb_qgis_liefert_default_ohne_rueckfrage` | Prüft, dass frage_ja_nein außerhalb des QGIS-Modus den Default-Wert liefert, ohne den Nutzer zu fragen. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_frage_text_im_qgis_modus_fragt_nutzer` | Prüft, dass frage_text im QGIS-Modus den Nutzer fragt und Text plus OK-Status liefert. | grün | nie geprüft |
|
| `TestPruefmanager.test_frage_text_im_qgis_modus_fragt_nutzer` | Prüft, dass frage_text im QGIS-Modus den Nutzer fragt und Text plus OK-Status liefert. | grün | geprüft am 2026-09-29 |
|
||||||
| `TestPruefmanager.test_frage_text_ausserhalb_qgis_liefert_default_ohne_rueckfrage` | Prüft, dass frage_text außerhalb des QGIS-Modus den Standardtext mit OK=True liefert, ohne den Nutzer zu fragen. | grün | nie geprüft |
|
| `TestPruefmanager.test_frage_text_ausserhalb_qgis_liefert_default_ohne_rueckfrage` | Prüft, dass frage_text außerhalb des QGIS-Modus den Standardtext mit OK=True liefert, ohne den Nutzer zu fragen. | grün | geprüft am 2026-09-29 |
|
||||||
|
|
||||||
### `Plugin_SN_Basis/tests/test_qgiscore_wrapper_helpers.py`
|
### `Plugin_SN_Basis/tests/test_qgiscore_wrapper_helpers.py`
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user