Heim  >  Artikel  >  Backend-Entwicklung  >  So verwenden Sie PHP Unit zum Testen von PHPUnit

So verwenden Sie PHP Unit zum Testen von PHPUnit

php中世界最好的语言
php中世界最好的语言Original
2017-12-20 17:40:461204Durchsuche

Zuerst müssen wir das Konzept des Unit-Tests verstehen. Unit-Tests beziehen sich auf das Testen der Grundeinheiten in der Software, wie Funktionen, Methoden usw., um zu überprüfen, ob ihre Rückgabewerte bzw Das Verhalten ist wie erwartet, aber es ist tatsächlich sehr verantwortungsvoll, da es aus vielen Komponenten besteht und der Ausführungsprozess kohärent ist. Um Unit-Fragmente zu testen, müssen Sie einen Ausführungskontext (oder Parameter) und eine Umgebung (z. B. Stapelung zur Simulation einiger Objekte) bereitstellen ) zum Laufen.

PHP-Unit-Tests: phpunit

bietet detaillierte Tutorials auf seiner offiziellen Website. Hier finden Sie einige ergänzende Inhalte.

Zunächst müssen Sie verstehen, dass die PHPUnit-Software selbst über die Befehlszeile und nicht über den Browser implementiert wird.

Es ist wichtig, dies zu verstehen . Viele Neulinge stecken hier fest. Es ist sehr einfach und einfach, aber es scheint nicht oft erwähnt zu werden.

Nach dem Herunterladen von der offiziellen Website erhalten Sie eine Einführung in Phar-Archivdateien Artikel: Konzept und Verwendung von Phar-Dateien im Archivformat in der PHP-Entwicklung. Bitte laden Sie auch das PHPUnit-Nutzungsdokument herunter, installieren Sie es gemäß der darin enthaltenen Installationsmethode und geben Sie dann den folgenden Befehl in die Befehlszeile ein:

?
phpunit --help


Wenn die Hilfeinformationen angezeigt werden, ist die Installation erfolgreich. Erstellen Sie einen Testfall als yunke.php im aktuellen Verzeichnis der Befehlszeile Der Inhalt lautet wie folgt:

Geben Sie dann den folgenden Befehl in die Befehlszeile ein:
<?php
use PHPUnit\Framework\TestCase;
class yunkeTest extends TestCase
{
  public function testPushAndPop()
  {
    $stack = [];
    $this->assertEquals(0, count($stack));
    array_push($stack, &#39;foo&#39;);
    $this->assertEquals(&#39;foo&#39;, $stack[count($stack) - 1]);
    $this->assertEquals(1, count($stack));
    $this->assertEquals(&#39;foo&#39;, array_pop($stack));
    $this->assertEquals(0, count($stack));
  }
}
?>

Der folgende Inhalt wird angezeigt:
phpunit yunke

Herzlichen Glückwunsch, Sie haben einen Unit-Test erfolgreich durchgeführt. Die erste Zeile enthält die Informationen zum Autor (Sebastian Bergmann lässt sich sehr gerne signieren)
PHPUnit 5.7.12 by Sebastian Bergmann and contributors.
.                                  1 / 1 (100%)
Time: 159 ms, Memory: 7.00MB
OK (1 test, 5 assertions)

Die zweite Zeile beginnt mit einem Punkt und bedeutet, dass alle Tests erfolgreich bestanden wurden

Sie fragen sich vielleicht, was im obigen PHP-Code vor sich geht?

Das ist ein Testfall, der einfach eine Array-Operation testet, die im Allgemeinen die folgenden vier Schritte durchläuft:

1 Der Test für die Produktionscode-Klasse wird in die Klasse geschrieben Klassentest.

2. ClassTest erbt (normalerweise) von PHPUnitFrameworkTestCase.

3. Tests sind alle öffentlichen Methoden mit dem Namen test*. Sie können auch die @test-Annotation im Dokumentationskommentarblock (docblock) der Methode verwenden, um sie als Testmethode zu markieren.
4. Innerhalb der Testmethode werden Behauptungsmethoden wie „assertEquals()“ verwendet, um Aussagen über die Übereinstimmung zwischen dem tatsächlichen Wert und dem erwarteten Wert zu treffen.

Sie können hier an mehreren Stellen verwirrt sein:

1. Die im Kommentarblock verwendeten Anmerkungen können von PHP durch Reflektion abgerufen werden, und das Programm kann die erhaltenen Informationen für die Konfiguration verwenden

2. Woher kommt die TestCase-Klasse im Testfallcode in der obigen Spalte? Wurde es nicht geladen?

Wie oben erwähnt, ist phpunit selbst in PHP-Sprache geschrieben und zur Verwendung in phar gepackt. Führen Sie bei der Ausführung zuerst die Stub-Datei Stub im Paket aus.

Sie können den obigen Anweisungen von Yunke folgen Im phar-Beitrag wurde die Methode zum Extrahieren und Wiederherstellen des phpunit.phar-Pakets vorgestellt, oder Sie können eine IDE wie phpstorm verwenden, um es direkt zu öffnen

In .phar/stub.php sehen Sie den Stub-Code, die TestCase-Klasse ist The Der im Stub-Code erforderliche Befehlszeilencode „phpunit yunke“ führt zuerst das phpunit-Skript aus, beginnend mit der Stub-Datei, und dann lädt phpunit den Testfallcode

Es ist ersichtlich, dass das Programm nicht startet Das Testfallskript hat mit der Ausführung begonnen, jetzt verstehen Sie, woher die TestCase-Klasse kommt

Mit dem oben genannten Inhalt und der offiziellen Website-Dokumentation sollten Anfänger problemlos loslegen können


Ich glaube es Nachdem Sie diese Fälle gelesen haben, beherrschen Sie die Methoden. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Verwandte Lektüre:

PHP verwendet Git-Bereitstellungsumgebung


Benutzerdefinierte PHP-Funktion generiert kartesisches Produkt

PHP-Produkt-Flash-Sale-Timing-Implementierung (Lösung für großen Datenverkehr)

Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP Unit zum Testen von PHPUnit. 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