Heim > Artikel > Backend-Entwicklung > So verwenden Sie PHPUnit für Unit-Tests in der PHP-Entwicklung
Mit der breiten Anwendung der PHP-Sprache in der Webentwicklung ist die Verwendung von PHPUnit für Unit-Tests zu einem wichtigen Bestandteil der PHP-Entwicklung geworden. Unit-Tests können uns helfen, Probleme im Code zu finden und die Wartbarkeit und Lesbarkeit des Codes zu verbessern. In diesem Artikel wird erläutert, wie Sie PHPUnit für Unit-Tests verwenden.
PHPUnit kann über Composer installiert werden. Geben Sie den folgenden Befehl in das Terminal ein:
composer require --dev phpunit/phpunit
Wir müssen die entsprechende Testdatei entsprechend dem zu testenden Code schreiben. Die Testdatei muss die von PHPUnit bereitgestellten Assertionsfunktionen (Assertionen) verwenden, um festzustellen, ob sie die erwarteten Ergebnisse erfüllt. Das Folgende ist ein einfaches Beispiel:
class CalculatorTest extends PHPUnitFrameworkTestCase { public function testAdd() { $calculator = new Calculator(); $result = $calculator->add(2, 2); $this->assertEquals(4, $result); } }
In dieser Testdatei erben wir die PHPUnitFrameworkTestCase-Klasse, definieren eine testAdd-Methode, um die add-Methode in der Calculator-Klasse zu testen, und verwenden die von PHPUnit bereitgestellte AssertEquals-Funktion, um zu bestimmen, ob das tatsächliche Ergebnis vorliegt entspricht dem erwarteten Ergebnis.
Um die Testdatei auszuführen, müssen Sie den folgenden Befehl im Terminal ausführen:
vendor/bin/phpunit tests/CalculatorTest.php
Dieser Befehl startet PHPUnit und führt alle Testmethoden in der Datei „tests/CalculatorTest.php“ aus. Wenn alle Tests erfolgreich sind, gibt PHPUnit ein grünes Symbol aus. Wenn ein oder mehrere Tests fehlschlagen, gibt PHPUnit eine Fehlermeldung aus und nennt den konkreten Grund für den Fehler.
PHPUnit bietet außerdem ein Code-Coverage-Analysetool, mit dem wir analysieren können, wie viele Zeilen im Testcode ausgeführt wurden. Fügen Sie die Option --coverage-html nach dem Befehl hinzu, um den Test auszuführen und einen Abdeckungsbericht zu generieren.
vendor/bin/phpunit --coverage-html coverage tests/CalculatorTest.php
Dieser Befehl generiert ein Coverage-Verzeichnis im aktuellen Verzeichnis, das eine HTML-Datei enthält. Öffnen Sie es, um die Ergebnisse der Coverage-Analyse anzuzeigen.
Beim Schreiben von Testdateien müssen wir möglicherweise testen, ob mehrere Datensätze die erwarteten Ergebnisse erfüllen. Zu diesem Zeitpunkt können Sie die von PHPUnit bereitgestellte Datenproviderfunktion verwenden, um das Schreiben wiederholten Testcodes zu vermeiden. Das Folgende ist ein Beispiel für die Verwendung eines Datenanbieters:
class CalculatorTest extends PHPUnitFrameworkTestCase { /** * @dataProvider additionProvider */ public function testAdd($a, $b, $expected) { $calculator = new Calculator(); $result = $calculator->add($a, $b); $this->assertEquals($expected, $result); } public function additionProvider() { return [ [0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 2], [-1, 1, 0], [PHP_INT_MAX, 1, PHP_INT_MAX + 1], ]; } }
In der Rechnertestklasse definieren wir eine AdditionProvider-Methode, um einen Satz Testdaten zurückzugeben, der zwei Operanden und das erwartete Ergebnis enthält. In der testAdd-Methode verwenden wir die dataProvider-Annotation, um den Datenanbieter zu identifizieren. Zu diesem Zeitpunkt führt PHPUnit automatisch mehrere Tests aus, wobei jedes Mal ein Datensatz verwendet wird.
Zusammenfassung
Die Verwendung von PHPUnit für Unit-Tests kann uns dabei helfen, die Qualität und Wartbarkeit unseres Codes zu verbessern. In diesem Artikel werden die Funktionen von PHPUnit wie Installation, Schreiben von Testdateien, Ausführen von Tests, Abdeckungsanalyse und Datenanbieter vorgestellt. Ich hoffe, dieser Inhalt kann PHP-Entwicklern beim Unit-Testen helfen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHPUnit für Unit-Tests in der PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!