Heim >Backend-Entwicklung >PHP-Tutorial >phpmaster | Erste Schritte mit Phpunit

phpmaster | Erste Schritte mit Phpunit

Christopher Nolan
Christopher NolanOriginal
2025-03-02 08:33:15484Durchsuche

phpmaster | Getting Started with PHPUnit

Dieses Tutorial ist veraltet. Eine aktuelle Einführung in Phpunit finden Sie in unserem kürzlich veröffentlichten aktualisierten Handbuch.


Die Automatisierung von Website -Tests ist für eine effiziente Entwicklung von entscheidender Bedeutung. Unit -Tests optimieren diesen Prozess und verhindern, dass Fehler, die durch Code -Updates eingeführt wurden. Dieser Artikel bietet ein grundlegendes Verständnis von Phpunit und führt Sie durch Ihren ersten Unit -Test.

Stellen Sie vor dem Start sicher, dass Phpunit installiert ist. Anweisungen finden Sie im Phpunit -Handbuch unter https://www.php.cn/link/991c0955da231335e4864d3389698fd5 .

Erstellen Sie Ihren ersten Test

Wir beginnen mit einer einfachen PHP -Klasse, die einen Benutzer darstellt:

<?php
class User {
    protected $name;

    public function getName() {
        return $this->name;
    }

    public function setName($name) {
        $this->name = $name;
    }

    public function talk() {
        return "Hello world!";
    }
}

Um die Begrüßung des Benutzers zu testen, erstellen wir eine Testklasse UserTest. Testklassennamen spiegeln im Allgemeinen die getesteten Klassen wider. Die Testklasse enthält die getestete Klasse und das Autolading von Phpunit:

<?php
require_once "PHPUnit/Autoload.php";
require_once "User.php";

class UserTest extends PHPUnit_Framework_TestCase {
}

Jeder Test ist eine Methode innerhalb dieser Klasse. Wir verwenden assertEquals(), um den Begrüßung zu überprüfen:

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    public function testTalk() {
        $user = new User();
        $expected = "Hello world!";
        $actual = $user->talk();
        $this->assertEquals($expected, $actual);
    }
}

Verwendung von Phpunit -Vorrichtungen

wiederholt Einrichten von Objekten in jeder Testmethode ist ineffizient. Vor jedem Test stellen Phpunit -Vorrichtungen einen Zustand ein und setzen ihn anschließend zurück. Wir überschreiben setUp(), um den Benutzer zu erstellen und zu initialisieren:

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    protected $user;

    protected function setUp() {
        $this->user = new User();
        $this->user->setName("Tom");
    }
}

tearDown() verändert den Benutzer nach jedem Test:

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    ...
    protected function tearDown() {
        unset($this->user);
    }
}

jetzt vereinfacht testTalk() zu:

<?php
...
class UserTest extends PHPUnit_Framework_TestCase {
    ...
    public function testTalk() {
        $expected = "Hello world!";
        $actual = $this->user->talk();
        $this->assertEquals($expected, $actual);
    }
}

Ausführen Ihrer Tests

Tests aus dem Terminal mit phpunit ausführen. A "." Zeigt einen erfolgreichen Test an, während "F" ein Misserfolg bedeutet. Andere Zeichen stellen Fehler, übersprungene Tests oder unvollständige Tests dar.

Behandlungstestausfälle

Ändern der User -Klasse, um "blubb" anstelle von "Hello World!" Zurückzugeben. Wird den Test fehlschlagen und detaillierte Fehlerinformationen bereitstellen.

Schlussfolgerung

Diese Einführung zeigt die Einfachheit von Phpunit. Erforschen Sie seine Fähigkeiten weiter; Experimentieren Sie, lernen Sie aus Fehlern und konsultieren Sie das Phpunit -Handbuch für fortschrittliche Techniken und Behauptungsmethoden. Der bereitgestellte Code (verfügbar auf GitHub) verwendet Komponist für die Abhängigkeitsführung. Die Anweisung require sollte vendor/autoload.php aufrufen. Führen Sie Tests aus dem Verzeichnis tests mit ../vendor/bin/phpunit UnitTest UserTest.php.

aus

Bild über Archipoch / Shutterstock

Das obige ist der detaillierte Inhalt vonphpmaster | Erste Schritte mit 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