PHP ist eine weit verbreitete Open-Source-Programmiersprache. Es ist eine der Haupttechnologien für viele Websites und Anwendungen. Das PHP-Framework bietet mehrere integrierte Unit-Testing-Frameworks, von denen PHPUnit das am häufigsten verwendete ist. PHPUnit ist ein PHP-Testframework zum Schreiben und Ausführen automatisierter Testfälle.
In diesem Artikel werden wir uns eingehend mit der Verwendung von PHPUnit für verhaltensgesteuerte Tests befassen.
Behavior Driven Testing (BDD) bezieht sich auf das Testen des Verhaltens des Anwendungssystems und nicht nur darauf, zu testen, ob das Anwendungssystem erwartete Ergebnisse liefert. BDD spielt eine wichtige Rolle beim Schreiben von zuverlässigem und benutzerfreundlichem Code. Es umfasst drei Schlüsselelemente: Spezifikation, Szenario und Schritt.
Eine Spezifikation ist eine detaillierte Beschreibung des Anwendungsverhaltens, ein Szenario ist eine Instanziierung der Spezifikation und Schritte sind die Aktionen und erwarteten Ergebnisse im Szenario. In PHPUnit können BDD-Tests mithilfe der PHPUnit BDD-Erweiterung implementiert werden.
Die folgenden Schritte sind für die Verwendung von PHPUnit für BDD-Tests erforderlich:
Schritt 1: PHPUnit installieren
PHPUnit kann mit Composer installiert werden. Fügen Sie einfach die PHPUnit-Abhängigkeit in der Datei „composer.json“ hinzu. Führen Sie den folgenden Befehl im Projektordner aus, um PHPUnit zu installieren.
composer require phpunit/phpunit
Schritt 2: Installieren Sie die PHPUnit BDD-Erweiterung
Die PHPUnit BDD-Erweiterung baut auf PHPUnit auf und bietet einige zusätzliche Funktionen zum Hinzufügen von Spezifikationen, Szenarien, Schritten und gewünschten Ergebnissen.
PHPUnit BDD-Erweiterung kann mit Composer installiert werden. Führen Sie den folgenden Befehl aus, um die Erweiterung in der PHPUnit BDD-Erweiterungsbibliothek zu finden:
composer search phpunit-bdd
Wählen Sie eine geeignete PHPUnit BDD-Erweiterungsversion aus und fügen Sie dann die PHPUnit BDD-Erweiterungsabhängigkeit in der Datei „composer.json“ hinzu. Führen Sie den folgenden Befehl aus, um die PHPUnit BDD-Erweiterung zu installieren:
composer require behat/phpunit-bundle --dev
Schritt 3: Erstellen Sie ein Testverzeichnis
Erstellen Sie im Stammverzeichnis des Projekts ein Verzeichnis mit dem Namen „tests“ und erstellen Sie unter dem Verzeichnis „tests“ ein Unterverzeichnis mit dem Namen „features“.
Erstellen Sie eine Datei mit dem Namen Login.feature im Unterverzeichnis „features“. Das Dateiformat sollte eine Gherkin-Sprachbeschreibung sein, wie unten gezeigt:
Feature: Login Scenario: A user logs in Given I am on the login page When I fill in "username" with "myusername" And I fill in "password" with "mypassword" And I press "login" Then I should be on the dashboard page
Erstellen Sie eine Datei mit dem Namen bootstrap.php im Features-Verzeichnis. Diese Datei enthält einige notwendige Konfigurationen für die Testausführung sowie die Einführung der PHPUnit BDD-Erweiterung. Der Inhalt der Datei ist wie folgt:
<?php require_once __DIR__ . '/../vendor/autoload.php'; $container = new BehatTestworkServiceContainerTesterTesterContainer(); $container->set('phpunit', new BehatPHPUnitDependencyInjectionConfiguration()); $container->set('phpunit.configuration', new BehatPHPUnitConfigurationConfiguration());
Schritt 4: Schreiben Sie die Testklasse
Erstellen Sie eine Datei mit dem Namen LoginTest.php im Testverzeichnis. Der Inhalt der Datei lautet wie folgt:
<?php namespace Tests; use BehatBehatContextContext; use BehatBehatTesterExceptionPendingException; use BehatGherkinNodePyStringNode; use BehatGherkinNodeTableNode; use BehatBehatContextSnippetAcceptingContext; use PHPUnitFrameworkTestCase; class LoginTest extends TestCase implements Context, SnippetAcceptingContext { public function testLogin() { $this->getPage('login'); $this->fillField('username', 'myusername'); $this->fillField('password', 'mypassword'); $this->pressButton('login'); $this->assertPageContainsText('dashboard'); } }
Schritt 5: Test ausführen
Führen Sie im Projektverzeichnis den folgenden Befehl aus, um den Test auszuführen:
vendor/bin/behat
PHPUnit lädt den Testfall automatisch, führt den Test aus und generiert ihn den entsprechenden Prüfbericht.
Ein Vorteil von BDD-Tests besteht darin, dass benutzerfreundliche Ein- und Ausgaben für die Anwendung erstellt werden. BDD-Tests testen nicht nur, ob der Code ordnungsgemäß funktioniert, sondern auch, ob der Code leicht zu verstehen und zu verwenden ist. Es fördert die Zusammenarbeit und Kommunikation zwischen Teams und ermöglicht es Entwicklern, den Bedürfnissen und Erfahrungen der Benutzer mehr Aufmerksamkeit zu schenken.
Die Implementierung von BDD-Tests in PHPUnit ist nicht schwierig. Befolgen Sie einfach die oben genannten Schritte, um mit dem Schreiben von BDD-Testfällen zu beginnen und die Zuverlässigkeit und Benutzerfreundlichkeit Ihres Codes sicherzustellen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHPUnit für verhaltensgesteuerte Tests in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!