Heim > Artikel > Backend-Entwicklung > Verbessern Sie die Testeffizienz mit PHP-Code-Coverage-Tools
So verwenden Sie PHPUnit für die PHP-Codeabdeckung: Installieren Sie PHPUnit. Konfigurieren Sie die PHPUnit-Konfigurationsdatei (phpunit.xml). Führen Sie den Befehl zur Codeabdeckung aus (phpunit --coverage-html build/coverage). Erläutern Sie den Bericht: Abdeckung: Ausgeführte Codezeilen als Prozentsatz der gesamten Codezeilen. Überschriebene Klassen und Methoden: Listet alle überschriebenen Klassen und Methoden auf. Aufgedeckter Code: Markieren Sie Codezeilen, die nicht ausgeführt wurden.
Einführung
Codeabdeckung ist eine Testtechnik, die die Anzahl der in einem Programm ausgeführten Codezeilen misst. Dies hilft, ungetestete Codepfade und potenzielle Fehler zu identifizieren. PHPUnit ist ein beliebtes PHP-Testframework, das integrierte Tools zur Codeabdeckung bietet.
PHPUnit installieren
Um PHPUnit zu installieren, verwenden Sie Composer:
composer global require "phpunit/phpunit:^9"
Konfigurieren Sie PHPUnit
Um PHPUnit in Ihrem Projekt zu konfigurieren, erstellen Sie eine Konfigurationsdatei mit dem Namen phpunit.xml
und fügen Sie den folgenden Inhalt hinzu:
<phpunit> <testsuites> <testsuite name="MyTestSuite"> <directory>tests</directory> </testsuite> </testsuites> <filter> <whitelist processUncoveredFilesFromWhitelist="true"> <directory suffix=".php">src</directory> </whitelist> </filter> <logging> <log type="coverage-html" target="build/coverage" /> </logging> </phpunit>
Code ausführen Alter
Um einen Code-Coverage-Bericht zu generieren, führen Sie den folgenden Befehl aus:
phpunit --coverage-html build/coverage
Explain Code Coverage Report
Der generierte Bericht zeigt eine interaktive HTML-Oberfläche an.
Praktischer Fall
Betrachten Sie die folgende PHP-Klasse:
class Calculator { public function add(int $a, int $b): int { return $a + $b; } }
Um sie zu testen, erstellen wir einen Testfall:
class CalculatorTest extends PHPUnit_Framework_TestCase { public function testAdd() { $calculator = new Calculator(); $this->assertEquals(3, $calculator->add(1, 2)); } }
Führen Sie PHPUnit aus und nach dem Generieren des Code-Coverage-Berichts können Sie die folgenden Ergebnisse sehen:
....... 6 / 6 (100%) Time: 0 seconds, Memory: 4.00 MB OK (1 test, 1 assertion)
Der Bericht gibt an, dass der gesamte Code abgedeckt ist (100 %).
Das obige ist der detaillierte Inhalt vonVerbessern Sie die Testeffizienz mit PHP-Code-Coverage-Tools. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!