From 1769c9f3492f3ab34c4dbe38914233a22f9b9faf Mon Sep 17 00:00:00 2001 From: Dotty Dotter Date: Tue, 28 Apr 2026 11:14:09 +0200 Subject: [PATCH] =?UTF-8?q?build(#134):=20Coverage-Schwelle=2045%=20?= =?UTF-8?q?=E2=86=92=2050%=20nach=20Test-Backfill-Welle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Aktuelle Total-Coverage 53.4% (vorher 46.2%). Mit der Phase-2-Welle: - 787 Tests (von 580) — +207 Tests - Coverage-Sprung +7 Punkte - 11 Module auf >=99% gebracht (mail, og_card, redline_utils, drucksache_typen, wahlperioden, wahlprogramme, abonnement_repository, bewertung_repository, monitoring, clustering, ingest_votes) - 3 Module auf >=85% (auth, protokoll_parsers/nrw, qwen_bewerter) - Verbleibend integration-territory: main.py (Endpoints), parlamente.py (Live-Adapters), queue.py worker-Loop, report.py WeasyPrint, embeddings.py OpenAI-Calls --- .coveragerc | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/.coveragerc b/.coveragerc index 04144d6..8a58cbe 100644 --- a/.coveragerc +++ b/.coveragerc @@ -11,21 +11,20 @@ omit = # Faustregel ADR 0007: keine 100%-Jagd, aber kritische Pfade abdecken. # show_missing-Flag macht Luecken im CI-Output sofort sichtbar. # -# fail_under=45 ist die aktuelle Baseline (Stand 2026-04-28), nicht das -# Ziel. Die niedrige Total-Coverage kommt aus drei Bereichen, die mit -# Unit-Tests schwer abzudecken sind und stattdessen via integration/e2e -# laufen sollten: +# fail_under=50 ist die aktuelle Baseline (Stand 2026-04-28). Verbleibende +# unabgedeckte Bereiche brauchen integration-Setup statt Unit-Tests: # - app/main.py (FastAPI-Endpoints, ~900 LOC) — TestClient-Smoke-Tests -# sind lokal geskippt mangels App-Imports; laufen in der Docker-Suite. +# sind lokal geskippt mangels voller Deps; laufen in der Docker-Suite. # - app/parlamente.py (16 Adapter, ~3400 LOC) — Live-HTTP gegen Landtage, # tests/integration/ deckt das ab. -# - app/queue.py, app/report.py — Async-Worker und PDF-Renderer, eigene -# Test-Runden noch ausstehend. -# Schwelle hochsetzen, sobald genannte Bereiche eigene Tests haben. +# - app/queue.py _worker (async-Loop, while True, hart zu testen). +# - app/report.py WeasyPrint-PDF-Render-Pfade. +# - app/embeddings.py OpenAI/DashScope-Calls. +# Schwelle hochsetzen, wenn integration-Suite lokal lauffaehig wird. show_missing = true skip_covered = false precision = 1 -fail_under = 45 +fail_under = 50 # Zeilen, die nicht gezaehlt werden sollen — typische Boilerplate ohne # eigentliche Testbarkeit.