Heim  >  Artikel  >  Backend-Entwicklung  >  Verbessern Sie die Testeffizienz mit PHP-Code-Coverage-Tools

Verbessern Sie die Testeffizienz mit PHP-Code-Coverage-Tools

WBOY
WBOYOriginal
2024-06-03 18:39:00893Durchsuche

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.

使用 PHP 代码覆盖工具提高测试效率

PHP-Codeabdeckung mit PHPUnit

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.

  • Abdeckung: Gibt die Anzahl der ausgeführten Codezeilen als Prozentsatz der Gesamtzahl der Codezeilen an.
  • Abgedeckte Klassen und Methoden: Listet alle überschriebenen Klassen und Methoden auf.
  • Ungedeckter Code: Markieren Sie Codezeilen, die nicht ausgeführt werden.

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn