Ein Tool, mit dem Codeabdeckungsregeln pro Datei definiert werden können. Legen Sie für jede Datei einen Mindestabdeckungsschwellenwert fest und konfigurieren Sie eine benutzerdefinierte Mindestabdeckung für vorhandene Dateien, wenn die aktuelle Testabdeckung noch nicht den Standards entspricht. Inspektionsfehler werden im Checkstyle-Format ausgegeben, sodass sie in CI/CD-Tools importiert werden können.
Die Berechnung der Standardabdeckung erfolgt über die gesamte Codebasis. Wenn der Schwellenwert beispielsweise 80 % beträgt und eine Datei unter 80 % fällt, bemerken Sie dies nicht, da die Gesamtabdeckung von 87,6 % auf 87,4 % gestiegen ist. Dieses Paket stellt sicher, dass das nicht mehr passiert und die Abdeckung wird pro Datei berechnet.
Eingabe: Clover Coverage.xml
Ausgabe: checkstyle oder gitlab
Binden Sie die Bibliothek als Abhängigkeit in Ihr eigenes Projekt ein über:
composer require "digitalrevolution/phpunit-file-coverage-inspection" --dev
Datei: phpfci.xml
<?xml version="1.0"kodierung="UTF-8"?> <phpfci xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="vendor/digitalrevolution/phpunit-file-coverage-inspection/resources/phpfci.xsd"min-coverage= „100“allow-uncovered-methods="false"> <custom-coverage><!-- verzeichnisbasierte Abdeckungsregel --><directory path="src/Lib/" min="90"/><!-- Unterverzeichnisse ersetzen eine übergeordnete Verzeichnisregel --><directory path ="src/Lib/Config/" min="100"/><!-- Dateiregel hat immer Vorrang vor einer Verzeichnisregel --><file path="src/Lib/Config/File.php" min="80 "/> </custom-coverage> <!-- wenn „allow-uncovered-methods“ auf „false“ gesetzt ist, überschreiben Sie dieses Verhalten für bestimmte Dateien: --><ignore-uncovered-methods> <file path="src/Command/ExampleCommand.php"/> </ignore-uncovered-methods> </phpfci>
Option | Erforderlich | Standard | Beschreibung |
---|---|---|---|
Mindestabdeckung | Ja | - | Die minimale globale Abdeckung |
Aufgedeckte-Methoden zulassen | NEIN | FALSCH | Alle Methoden sollten zumindest eine gewisse Abdeckung aufweisen |
oder generieren Sie eine Konfigurationsdatei basierend auf vorhandenen Abdeckungsergebnissen
PHP Vendor/bin/phpfci baseline --baseDir /home/ci/workspace Coverage.xml ./phpfci.xml
Das Basisverzeichnis wird von den Dateipfaden in Coverage.xml abgezogen
Checkstyle-Format:
PHP Vendor/bin/phpfci inspect cover.xml --reportCheckstyle=reports/checkstyle.xml
Gitlab-Format:
PHP Vendor/bin/phpfci inspect cover.xml --reportGitlab=reports/gitlab.errors.json
Gitlab-Format in eine Datei und Textausgabe in stdout:
PHP Vendor/bin/phpfci inspect cover.xml --reportGitlab=reports/gitlab.errors.json --reportText
Textformat für stdout:
PHP Vendor/bin/phpfci inspect cover.xml PHP Vendor/bin/phpfci inspect cover1.xml cover2.xml
PHP Vendor/bin/phpfci inspect cover.xml --reportText
Option | Werte | Beschreibung |
---|---|---|
argument 1 | inspect , baseline | der auszuführende Befehl. |
argument 2 [ argument 3 ]... | coverage.xml [ coverage2.xml ] | die Eingabedatei(en) für die PHPUnit-Clover-Coverage. |
--reportGitlab=[<file>] | Dateipfad oder, falls nicht vorhanden, stdout | die Datei (oder stdout), in die das Gitlab-Format geschrieben werden soll. |
--reportCheckstyle=[<file>] | Dateipfad oder, falls nicht vorhanden, stdout | die Datei (oder stdout), in die das Checkstyle-Format geschrieben werden soll. |
--reportText=[<file>] | Dateipfad oder, falls nicht vorhanden, stdout | die Datei (oder stdout), in die das Checkstyle-Format geschrieben werden soll. |
--config=<path-to-file> | phpfci.xml | der Pfad zur Konfigurationsdatei. |
--baseDir=<path> | Standardmäßig wird das Verzeichnis der Ausgabedatei verwendet | Das Stammverzeichnis des Projekts wird verwendet, um Pfade relativ zu machen. |
--exit-code-on-failure | - | Setzen Sie den Exit-Code auf 1 wenn Fehler auftreten. |
Hinweis: Wenn kein --reportGitlab
, --reportCheckstyle
oder --reportText
festgelegt ist, wird standardmäßig --reportText=php://stdout
verwendet
Das dritte erforderliche Argument und --report
wurden entfernt und sollten ersetzt werden durch: --reportGitlab=<file>
, --reportCheckstyle=<file>
oder --reportText=<file>
Bei 123inkt (Teil von Digital Revolution BV) arbeiten täglich mehr als 50 Entwicklungsexperten an der Verbesserung unseres internen ERP und unserer verschiedenen Shops. Möchten Sie sich uns anschließen? Wir suchen Entwickler.