Zurück zur Übersicht

Einrichten einer Testumgebung mit WordPress und PHPUnit, 2. Teil: WP-CLI

1. Teil: Verwenden der github-Tests oder der offiziellen Testsuite via SVN.
2. Teil: Einrichten einer Testumgebung mit WP-CLI.

WP-CLI ist ein Kommandozeilen-Werkzeug, mit dem sich viele Aufgaben einer WordPress-Installation schnell und übersichtlich erledigen lassen. Es bietet auch die Möglichkeit, eine Testumgebung mit wenigen Befehlen aufzusetzen, was wir hier Schritt für Schritt tun wollen.

Die offizielle Webseite von WP-CLI ist http://wp-cli.org/

Voraussetzungen für das Verwenden von WP-CLI:

 

Installation

Wir holen uns die Datei wp-cli.phar mit folgendem Befehl:

Falls curl noch nicht installiert sein sollte, kann auf Linux-Systemen auch wget verwendet werden.

Ob die heruntergeladene phar-Datei funktioniert, können wir mit folgendem Befehl prüfen:

Um WP-CLI über den Befehl wp ausführen zu können, müssen wir die Datei wp-cli.phar ausführbar machen und an einen Ort verschieben, der in der Umgebungsvariablen (PATH) definiert ist, Beispiel:

 

Benutzung

Innerhalb eines WordPress-Installationsordners steht uns nun der Befehl wp zur Verfügung:

 

Installation der Test-Suite mit WP-CLI

Um Unit-Tests ausführen zu können, muss PHPUnit installiert sein. Eine Anleitung dazu findet sich auf der github-Seite des Projektes.

Nun öffnen wir im WordPress-Ordner eine Konsole und legen die Plugin-Testdateien an:

WP-CLI geht hierbei davon aus, dass der Name des Plugin-Ordners identisch ist mit der Hauptdatei des Plugins, wobei auch Groß- und Kleinschreibung zu beachten ist. Andernfalls wird phpunit mit einer Fehlermeldung abbrechen. Beispiel: wp-content/mein-Plugin/mein-Plugin.php

Anschließend wechseln wir in unseren Plugin-Ordner (im Beispiel: wp-content/mein-Plugin) und initialisieren die Testumgebung:

Zur Erklärung:

Nun können wir phpunit ausführen:

 

Anmerkung zum /tmp – Ordner

WP-CLI legt die Testinstallation in den Systemordner /tmp. Dieser wird bei jedem Neustart gelöscht, was bei lokalen Entwicklungsumgebungen bedeutet, dass man die Testumgebung jeweils wieder initialisieren muss, bevor man phpunit ausführen kann.
Bei einer Linux-Installation kann der Zeitpunkt des Löschens allerdings festgelegt werden; so können wir z.B. angeben, dass der Inhalt von /tmp nur einmal pro Woche gelöscht wird.

Bei einer Ubuntu-Installation kann dies direkt in der Datei /etc/default/rcS angepasst werden. Über die Variable TMPTIME legen wir fest, wieviele Tage der Inhalt des Ordners bestehen bleibt:

Schreibe einen Kommentar