Da der Umfang von Webanwendungen immer weiter zunimmt, wird die Anwendung der PHP-Sprache immer weiter verbreitet. Im Softwareentwicklungsprozess können automatisierte Tests die Entwicklungseffizienz und Softwarequalität erheblich verbessern. Jenkins ist ein erweiterbarer Open-Source-Automatisierungsserver, der automatisch Softwareerstellung, Tests, Bereitstellung und andere Vorgänge durchführen kann. Heute werfen wir einen Blick darauf, wie man Jenkins für automatisierte Tests in der PHP-Entwicklung verwendet.
1. Jenkins-Installation und -Konfiguration
Zuerst müssen wir Jenkins auf dem Server installieren. Jenkins unterstützt mehrere Betriebssysteme, darunter Windows, Linux, Mac und mehr. Geben Sie nach Abschluss der Installation die URL-Adresse von Jenkins in den Browser ein und geben Sie den Benutzernamen und das Kennwort des Administratorkontos ein, um sich bei Jenkins anzumelden.
Nach Abschluss der Installation müssen wir auf der Hauptschnittstelle von Jenkins einige Plug-Ins und Tools für die Verwendung in der PHP-Entwicklung konfigurieren.
Nach Abschluss der Installation können wir einige Einstellungen in der globalen Konfiguration von Jenkins vornehmen, die bei der Durchführung automatisierter PHP-Tests verwendet werden. Legen Sie beispielsweise PHP- und Composer-Pfade sowie bestimmte Browser- und Selenium-Ports und mehr fest.
2. Erstellen Sie ein Jenkins-Projekt
Ein Projekt in Jenkins ist ein Software-Build-Prozess. Bei der PHP-Entwicklung können wir jedes Projekt als Jenkins-Projekt behandeln, um den Testprozess in Jenkins aufzubauen und zu verwalten.
Klicken Sie auf der Jenkins-Hauptoberfläche auf „Neues Projekt“, geben Sie den Projektnamen ein, wählen Sie „Ein kostenloses Softwareprojekt erstellen“ und klicken Sie dann auf „OK“.
Als nächstes nehmen Sie einige Einstellungen in der Projektkonfiguration für die Verwendung in automatisierten PHP-Tests vor. Zum Beispiel das Einrichten der Quellcodeverwaltung, Build-Trigger, Build-Umgebungen, Build-Schritte und mehr.
Der wichtigere Schritt ist der „Build-Schritt“, denn hier verwenden wir automatisierte PHP-Tests. Im „Build-Schritt“ können wir mehrere Ausführungsbefehle hinzufügen, z. B. die Verwendung von Composer zum Installieren abhängiger Bibliotheken, das Ausführen von PHPUnit-Testskripten usw. Als nächstes stellen wir zwei häufig verwendete automatisierte Testmethoden im Detail vor: Unit-Tests und Funktionstests.
3. Unit-Testing
Unit-Testing bezieht sich auf den Prozess des Testens einer einzelnen Komponente eines Softwaresystems mit dem Ziel, einzeln zu überprüfen, ob jede Komponente wie erwartet funktioniert. In der PHP-Entwicklung können wir PHPUnit für Unit-Tests verwenden.
Das Folgende ist ein Beispieltestcode für PHP:
<?php use PHPUnitFrameworkTestCase; class StringUtilTest extends TestCase { public function testStringLength() { $stringUtil = new StringUtil(); $string = 'PHPUnit test'; $length = $stringUtil->getLength($string); $this->assertEquals(11, $length); } }
Im „Build Step“ des Jenkins-Projekts können wir den PHPUnit-Befehl hinzufügen und den Test ausführen:
composer install vendor/bin/phpunit tests/
4. Funktionstests
Funktionstests beziehen sich auf Tests die Leistung des Softwaresystems Funktioniert der Testprozess wie erwartet? In der PHP-Entwicklung können wir Selenium für Funktionstests verwenden.
Zuerst müssen wir im „Build-Schritt“ des Jenkins-Projekts den folgenden Befehl hinzufügen:
composer install vendor/bin/phpunit tests/ java -jar selenium-server-standalone.jar
Unter diesen ist selenium-server-standalone.jar ein Selenium-Tool, das den Selenium-Dienst über die Befehlszeile starten kann . Nachdem Sie das Selenium-Tool heruntergeladen haben, legen Sie es im Stammverzeichnis des Projekts ab.
Fügen Sie als Nächstes einen Beispielcode in PHP zum Testen hinzu:
<?php use FacebookWebDriverRemoteRemoteWebDriver; use FacebookWebDriverRemoteDesiredCapabilities; class ExampleFunctionalTest extends PHPUnitFrameworkTestCase { public function testChrome() { $driver = RemoteWebDriver::create( 'http://localhost:4444/wd/hub', DesiredCapabilities::chrome() ); $driver->get('http://www.google.com'); $this->assertEquals('Google', $driver->getTitle()); } }
Führen Sie das Jenkins-Projekt aus. Jenkins startet den Selenium-Dienst und führt automatisch Funktionstests durch. Sehen Sie sich die Testergebnisse in Jenkins an. Wenn der Test bestanden wird, ist der Test erfolgreich.
5. Zusammenfassung
In diesem Artikel haben wir gelernt, wie man Jenkins für automatisierte Tests in der PHP-Entwicklung verwendet. Zuerst installieren und konfigurieren wir das Jenkins-Plugin, die Tools und die Umgebung. Als nächstes führten wir die automatisierten Testmethoden für Unit-Tests bzw. Funktionstests ein, indem wir die Build-Schritte des Jenkins-Projekts einrichteten.
Automatisierte Tests können die Effizienz und Softwarequalität der PHP-Entwicklung erheblich verbessern. Ich hoffe, dass dieser Artikel für PHP-Entwickler hilfreich sein wird.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Jenkins für automatisierte Tests in der PHP-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!