So verwenden Sie PHPUnit für Unit-Tests in der PHP-Entwicklung

WBOY
Freigeben: 2023-06-27 12:56:01
Original
836 Leute haben es durchsucht

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.

  1. PHPUnit installieren

PHPUnit kann über Composer installiert werden. Geben Sie den folgenden Befehl in das Terminal ein:

composer require --dev phpunit/phpunit
Nach dem Login kopieren
  1. Schreiben Sie eine Testdatei

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); } }
Nach dem Login kopieren

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.

  1. Führen Sie den Test aus

Um die Testdatei auszuführen, müssen Sie den folgenden Befehl im Terminal ausführen:

vendor/bin/phpunit tests/CalculatorTest.php
Nach dem Login kopieren

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.

  1. Coverage-Analyse

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
Nach dem Login kopieren

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.

  1. Datenanbieter

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], ]; } }
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!