Was ist Patch Coverage und wie funktioniert sie 2026?
Patch Coverage misst den Anteil neu geänderter oder hinzugefügter Code-Zeilen, die durch automatisierte Tests abgedeckt sind. Tools wie Codecov vergleichen den Coverage-Report mit dem Git-Diff des Pull Requests und berechnen daraus den Patch-Anteil automatisch.
Was ist der Unterschied zwischen Patch Coverage und Project Coverage 2026?
Project Coverage misst die Gesamtabdeckung des kompletten Codebases. Patch Coverage misst nur die geänderten Zeilen eines Commits oder PRs. Für Legacy-Projekte ist Patch Coverage der pragmatischere Ansatz: 100% Patch Coverage ist sofort erreichbar, unabhängig vom Zustand des bestehenden Codes.
Welche Tools messen Patch Coverage in PHP-Projekten 2026?
Die gaängigsten Tools sind Codecov (SaaS, kostenlos für Open Source), Scrutinizer CI und GitLab CI mit integrierter Coverage-Auswertung. Alle drei unterstützen das Clover-XML-Format von PHPUnit und berechnen Patch Coverage automatisch pro Pull Request.
Wie richte ich Patch Coverage mit PHPUnit und GitHub Actions 2026 ein?
PHPUnit mit --coverage-clover coverage.xml ausführen, dann den Codecov Action in der GitHub Actions Workflow-Datei einbinden. Codecov liest das XML aus, vergleicht es mit dem PR-Diff und zeigt Patch Coverage direkt im Pull Request an. Das Setup dauert unter einer Stunde.
Ist 100% Patch Coverage realistisch 2026?
Ja, 100% Patch Coverage ist deutlich realistischer als 100% Project Coverage. Jeder neu geschriebene Code kann sofort getestet werden. Das Ziel: Jede Zeile, die ich schreibe, wird auch getestet. Legacy-Zeilen bleiben zunächst ausgeklammert und werden schrittweise nachgerüstet.
Kann Patch Coverage Merges automatisch blockieren?
Ja. In Codecov lässt sich ein Mindest-Schwellenwert definieren (z.B. 80%). Unterschreitet ein Pull Request diesen Wert, schlägt der Status-Check fehl und der Merge wird blockiert. Das funktioniert in GitHub Actions, GitLab CI und Bitbucket Pipelines.
Welche PHP-Extension wird für Coverage-Reports benötigt?
PHPUnit unterstützt zwei Extensions: PCOV (nur Line Coverage, schneller) und Xdebug im Coverage-Modus (auch Branch- und Path-Coverage). Für Patch Coverage in CI/CD-Pipelines ist PCOV ausreichend und empfohlen, da es signifikant schneller ist als Xdebug.
Wie konfiguriere ich PHPUnit für Patch Coverage in phpunit.xml?
In der phpunit.xml das source-Element mit include/exclude konfigurieren: nur den src-Ordner einschließen, vendor und tests ausschließen. So werden ausschließlich eigene Quellcode-Zeilen in die Coverage-Analyse einbezogen und das Ergebnis ist aussagekräftig.
Was kostet Codecov für PHP-Projekte 2026?
Codecov ist für Open-Source-Projekte (public Repositories) kostenlos. Für private Repositories gibt es einen kostenlosen Plan mit eingeschränkten Features sowie bezahlte Pläne ab ca. 10 USD pro Monat. Alternativ bietet GitLab CI eine eingebaute Coverage-Analyse ohne zusätzliche Kosten.
Kann NCA die Patch Coverage Pipeline für unser Team einrichten?
Ja. NCA richtet die komplette Pipeline ein: PHPUnit-Konfiguration, Xdebug oder PCOV, Codecov-Integration und Merge-Blockierung bei unzureichender Abdeckung. Das funktioniert für Symfony, Laravel und Sulu CMS. Kontakt: roland@nevercodealone.de oder +49 176 24747727.
Verbessert Patch Coverage automatisch die Project Coverage?
Ja, indirekt. Wenn jeder neue Pull Request 100% Patch Coverage hat, steigt die Project Coverage kontinuierlich an. Nach 6 bis 12 Monaten konsequenter Anwendung verbessern sich auch Legacy-Bereiche, weil Refactorings und Fehlerbehebungen neue Tests mitbringen.
Gibt es Alternativen zu Codecov für Patch Coverage 2026?
Ja: Scrutinizer CI (besonders für PHP optimiert), Coveralls (kostenlos für Open Source), CodeClimate und GitLab CI mit integrierter Coverage-Auswertung. Für DSGVO-konforme Setups empfiehlt sich eine selbstgehostete Lösung oder ein europäischer Anbieter.