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
.
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!