Heim > Backend-Entwicklung > PHP-Tutorial > So verwenden Sie das PHPUnit-Framework zum Testen in PHP

So verwenden Sie das PHPUnit-Framework zum Testen in PHP

WBOY
Freigeben: 2023-05-22 09:10:01
Original
1410 Leute haben es durchsucht

Da sich die Webentwicklung ständig weiterentwickelt, sind Tests zu einem wesentlichen Bestandteil geworden. In der Webentwicklung können uns Tests dabei helfen, die Qualität des Codes sicherzustellen und die Entwicklungseffizienz zu verbessern. Das PHPUnit-Framework ist eines der am häufigsten verwendeten Test-Frameworks in PHP. Es bietet eine Fülle von Testtools und APIs, die es Entwicklern ermöglichen, Testfälle einfach zu schreiben und auszuführen. In diesem Artikel besprechen wir, wie Sie das PHPUnit-Framework zum Testen in PHP verwenden.

1. PHPUnit installieren

PHPUnit ist eine unabhängige PHP-Erweiterungsbibliothek, die über Composer installiert werden kann. Bevor Sie PHPUnit installieren, müssen Sie sicherstellen, dass Composer installiert ist. Wenn es nicht installiert ist, installieren Sie es bitte gemäß den Anweisungen auf der offiziellen Composer-Website.

Bevor Sie PHPUnit installieren, müssen Sie zunächst PHPUnit-Abhängigkeiten im Projekt installieren:

composer require --dev phpunit/phpunit
Nach dem Login kopieren

Dieser Befehl installiert das PHPUnit-Abhängigkeitspaket im Verzeichnis vendor des Projekts und speichert es als Entwicklungsabhängigkeit in composer.json-Datei im Abschnitt require-dev. Nachdem dieser Befehl ausgeführt wurde, können wir PHPUnit verwenden. vendor目录下安装PHPUnit依赖包,作为开发依赖保存在composer.json文件中的require-dev部分。在该命令运行完成后,我们就可以使用PHPUnit了。

二、创建测试用例

在使用PHPUnit进行测试之前,需要先编写测试用例。测试用例是针对一个特定功能或方法的测试代码集合,用于验证代码的正确性。在PHPUnit中,一个测试用例类可以包含多个测试方法。测试方法以test开头,并且不能接受任何参数。

下面我们来创建一个简单的测试用例来验证一个加法函数的正确性。首先,我们需要在项目根目录下创建一个名为CalculatorTest.php的文件,然后在该文件中编写测试用例:

<?php
use PHPUnitFrameworkTestCase;

class CalculatorTest extends TestCase
{
    public function testAddition()
    {
        $this->assertSame(2 + 2, 4);
    }
}
Nach dem Login kopieren

在上面的示例中,我们编写了一个名为testAddition()的测试方法,用于验证2 + 2是否等于4。其中,我们使用了assertSame()函数来判断两个值是否相等。如果两个值不相等,则测试用例将会失败。

三、运行测试用例

编写完测试用例后,我们就可以运行测试用例来验证代码的正确性。在PHPUnit中,可以通过以下命令来运行测试用例:

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

在运行以上命令后,PHPUnit将会自动运行我们在CalculatorTest.php文件中编写的测试用例。如果测试用例运行成功,则会输出一个绿色的符号;否则会输出一个红色的符号,并提示测试失败的原因。

四、使用PHPUnit提供的API

PHPUnit提供了很多实用的API,使得我们可以更加方便地编写测试用例。

  1. 断言 API

PHPUnit中最常用的API是断言API。它提供了一些用于断言测试结果的函数,例如assertEmpty()assertNotNull()assertGreaterThan()等。这些函数可以用于测试对象、字符串、数组、变量等等。

以下是一些常用的断言函数示例:

$this->assertEquals(2 + 2, 4);  // 两个值相等
$this->assertNotEmpty($array); // 非空数组
$this->assertInstanceOf(MyClass::class, $object); // 类的实例
Nach dem Login kopieren
  1. 数据集 API

PHPUnit提供了一个数据集API,可以在同一个测试用例中测试多组数据。其使用方式为将测试数据作为一个数组,然后使用@dataProvider注解指定数据提供函数,如下所示:

/**
 * @dataProvider additionProvider
 */
public function testAddition($a, $b, $expected)
{
    $this->assertSame($a + $b, $expected);
}

public function additionProvider()
{
    return [
        [0, 0, 0],
        [0, 1, 1],
        [1, 0, 1],
        [1, 1, 2],
    ];
}
Nach dem Login kopieren

上面的示例中,我们使用了@dataProvider注解,将测试数据提供函数的名称设置为additionProvider

2. Testfälle erstellen

Bevor Sie PHPUnit zum Testen verwenden, müssen Sie zunächst Testfälle schreiben. Ein Testfall ist eine Sammlung von Testcodes für eine bestimmte Funktion oder Methode, mit denen die Richtigkeit des Codes überprüft wird. In PHPUnit kann eine Testfallklasse mehrere Testmethoden enthalten. Testmethoden beginnen mit test und können keine Parameter akzeptieren.

Lassen Sie uns einen einfachen Testfall erstellen, um die Richtigkeit einer Additionsfunktion zu überprüfen. Zuerst müssen wir eine Datei namens CalculatorTest.php im Stammverzeichnis des Projekts erstellen und dann den Testfall in die Datei schreiben: 🎜rrreee🎜Im obigen Beispiel haben wir eine Datei namens The test geschrieben Die Methode von testAddition() wird verwendet, um zu überprüfen, ob 2 + 2 gleich 4 ist. Unter anderem verwenden wir die Funktion assertSame(), um zu bestimmen, ob zwei Werte gleich sind. Wenn die beiden Werte nicht gleich sind, schlägt der Testfall fehl. 🎜🎜3. Führen Sie den Testfall aus🎜🎜Nachdem wir den Testfall geschrieben haben, können wir den Testfall ausführen, um die Richtigkeit des Codes zu überprüfen. In PHPUnit können Sie den Testfall über den folgenden Befehl ausführen: 🎜rrreee🎜Nachdem Sie den obigen Befehl ausgeführt haben, führt PHPUnit automatisch den Testfall aus, den wir in der Datei CalculatorTest.php geschrieben haben. Wenn der Testfall erfolgreich ausgeführt wird, wird ein grünes Symbol ausgegeben, andernfalls wird ein rotes Symbol ausgegeben und der Grund für den Testfehler wird abgefragt. 🎜🎜4. Verwenden Sie die von PHPUnit bereitgestellte API. PHPUnit bietet viele praktische APIs, die es uns erleichtern, Testfälle zu schreiben. 🎜
  1. Assertion-API
🎜Die am häufigsten verwendete API in PHPUnit ist die Assertion-API. Es bietet einige Funktionen zum Bestätigen von Testergebnissen, wie zum Beispiel assertEmpty(), assertNotNull(), assertGreaterThan() usw. Diese Funktionen können für Testobjekte, Zeichenfolgen, Arrays, Variablen und mehr verwendet werden. 🎜🎜Im Folgenden sind einige häufig verwendete Beispiele für Assertionsfunktionen aufgeführt: 🎜rrreee
  1. Datensatz-API
🎜PHPUnit stellt eine Datensatz-API bereit, die im selben Testfall verwendet werden kann Testen Sie mehrere Datensätze. Die Verwendung besteht darin, die Testdaten als Array zu verwenden und dann die Annotation @dataProvider zu verwenden, um die Datenbereitstellungsfunktion anzugeben, wie unten gezeigt: 🎜rrreee🎜Im obigen Beispiel haben wir verwendet @dataProvider code>-Annotation, legen Sie den Namen der Testdatenbereitstellungsfunktion auf <code>additionProvider fest. Diese Funktion gibt ein Array zurück, das mehrere Sätze von Testdaten enthält. 🎜🎜5. Zusammenfassung🎜🎜In diesem Artikel haben wir vorgestellt, wie man das PHPUnit-Framework zum Testen in PHP verwendet. Wir haben zunächst die Installation und Verwendung von PHPUnit vorgestellt, dann gezeigt, wie man einen Testfall erstellt und den Testfall ausführt, und schließlich einige praktische APIs vorgestellt, die von PHPUnit bereitgestellt werden. Durch die Verwendung des PHPUnit-Frameworks können wir Testfälle bequemer schreiben und ausführen und so die Codequalität und Entwicklungseffizienz verbessern. 🎜

Das obige ist der detaillierte Inhalt vonSo verwenden Sie das PHPUnit-Framework zum Testen in PHP. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage