gwoe-antragspruefer/.coveragerc

42 lines
1.3 KiB
Plaintext
Raw Normal View History

[run]
source = app
omit =
# Hilfs-Skripte und Migrations-Tools — nicht produktiver Code
app/reindex_embeddings.py
app/sync_abgeordnetenwatch.py
# Generated / Auto-Discovery
app/__init__.py
[report]
# 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:
# - app/main.py (FastAPI-Endpoints, ~900 LOC) — TestClient-Smoke-Tests
# sind lokal geskippt mangels App-Imports; 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.
show_missing = true
skip_covered = false
precision = 1
fail_under = 45
# Zeilen, die nicht gezaehlt werden sollen — typische Boilerplate ohne
# eigentliche Testbarkeit.
exclude_lines =
pragma: no cover
def __repr__
raise NotImplementedError
if __name__ == .__main__.:
if TYPE_CHECKING:
\.\.\.
[html]
directory = htmlcov