Installation von PHPUnit unter Windows (xampp)

Vor einigen Wochen wollte ich erstmals PHPUnit installieren und dabei ist mir aufgefallen, dass die Anleitung zur Installation doch sehr spärlich gehalten ist. Um anderen das rumprobieren zu ersparen, habe ich deshalb ein Schritt-für-Schritt Tutorial geschrieben wie man PHPUnit korrekt unter Windows mit XAMPP installiert.

Schritt 1 – XAMPP installieren

Zu Beginn muss natürlich erstmal eine aktuelle Version von XAMPP installiert werden. Ich habe für dieses Tutorial die Version 1.7.4 verwendet. Bei älteren Versionen kann es kleinere Abweichungen geben, aber im Großen und Ganzen sollte es genauso funktionieren.
Die aktuelle Installer-Version von XAMPP kann hier runtergeladen werden. Anschließend können wir uns durch den Installations-Assistenten durchklicken. Als Zielverzeichnis empfehle ich C:\xampp.

Schritt 2 – Umgebungsvariablen einrichten

Da PHPUnit und der PEAR-Installer sich ausschließlich über die Konsole steuern lässt, muss als nächstes die Konsole konfiguriert werden. Dazu fügen wir den Pfad zu PHP in die Umgebungsvariablen hinzu.
Start > Systemsteuerung > System

Unter dem Reiter X klicken wir dann auf den Button Umgebungsvariablen. Dort die Variable Path ändern und ganz am Ende den Pfad zu PHP hinzufügen (durch ein Semikolon getrennt):

;C:\xampp\php

Ob alles geklappt hat, lässt sich testen, indem wir unter Start > Ausführen > cmd folgenden Befehl eingeben:

php -v


Wenn anschließend eine ähnliche Ausgabe, wie auf dem Screenshot zu sehen ist, erscheint, habt ihr alles richtig gemacht.

Schritt 3 – PEAR aktualisieren

Ein PEAR-Update ist schnell gemacht. Dazu sind lediglich die folgenden zwei Befehle notwendig:

pear channel-update pear.php.net
pear upgrade pear

Beim diesem Update wird unter anderem der PEAR-Installer aktualisiert. Die neue Version des PEAR-Installers ist notwendig für den letzten Schritt.

Schritt 4 – PHPUnit installieren

Wir bleiben in der Windows-Konsole und geben jetzt die Befehle ein, die bereits in der Anleitung von PHPUnit beschrieben sind:

pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear install phpunit/PHPUnit

Mit einem letzen Befehl können wir jetzt noch testen ob PHPUnit läuft:

phpunit --version

Als Ausgabe erscheint dann eine Meldung wie im Screenshot zu sehen ist.

Schlusswort

Ich hoffe ich euch konnte mit diesem HowTo den ersten Schritt in PHPUnit erleichtern, denn das offizielle Manual setzt den hier beschrieben Stand bereits voraus. Eventuell kann ich in den nächsten Tagen noch einen weiteren Artikel schreiben, der einen erste Eindruck von der Programmierung mit PHPUnit vermittelt. Sobald es was neues gibt, wird es an dieser Stelle nochmal angekündigt.

UPDATE 11. Mai 2011:
Wie angekündigt habe ich einen weiteren Artikel über die Einführung in PHPUnit geschrieben. Darin wird genau beschrieben wie man einen Unit-Test programmiert und ihn ausführt.

10 Kommentare zu “Installation von PHPUnit unter Windows (xampp)

  1. Wenn man nach der Eingabe von phpunit auf der Kommandozeile soetwas bekommt wie

    „Could not open input file .\pear\PHPUnit2\TextUI\TestRunner.php“,

    dann einfach unter xampp\php die phpunit.bat öffnen

    und ganz unten die Pfade anpassen.

    Hier ein Beispiel:

    „F:\Coco\Datending\xampp\php\php.exe“ „F:\Coco\Datending\xampp\php\PEAR\PHPUnit2\TextUI\TestRunner.php“ %*

    Grüße

  2. Hi!

    Ich bekomme nach Ausführung des Befehles „pear install phpunit/PHPUnit“ folgende Meldungen:

    Package „pear.phpunit.de/PHPUnit“ dependency „pear.phpunit.de/DbUnit“ has no rel
    eases
    Package „pear.phpunit.de/PHPUnit“ dependency „pear.phpunit.de/File_Iterator“ has
    no releases
    Package „pear.phpunit.de/PHPUnit“ dependency „pear.phpunit.de/Text_Template“ has
    no releases
    Package „pear.phpunit.de/PHPUnit“ dependency „pear.phpunit.de/PHP_CodeCoverage“
    has no releases
    Package „pear.phpunit.de/PHPUnit“ dependency „pear.phpunit.de/PHP_Timer“ has no
    releases
    Package „pear.phpunit.de/PHPUnit“ dependency „pear.phpunit.de/PHPUnit_MockObject
    “ has no releases
    Package „pear.phpunit.de/PHPUnit“ dependency „pear.phpunit.de/PHPUnit_Selenium“
    has no releases
    Package „pear.phpunit.de/PHPUnit“ dependency „pear.php.net/XML_RPC2“ has no rele
    ases
    phpunit/PHPUnit requires package „phpunit/DbUnit“ (version >= 1.0.0)

    Hat jemand eine Lösung für dieses Problem parat?
    phpunit/PHPUnit requires package „phpunit/File_Iterator“ (version >= 1.2.3)
    phpunit/PHPUnit requires package „phpunit/Text_Template“ (version >= 1.0.0)
    phpunit/PHPUnit requires package „phpunit/PHP_CodeCoverage“ (version >= 1.0.2)
    phpunit/PHPUnit requires package „phpunit/PHP_Timer“ (version >= 1.0.0)
    phpunit/PHPUnit requires package „phpunit/PHPUnit_MockObject“ (version >= 1.0.3)

    phpunit/PHPUnit requires package „phpunit/PHPUnit_Selenium“ (version >= 1.0.1)
    phpunit/PHPUnit can optionally use PHP extension „curl“
    phpunit/PHPUnit can optionally use PHP extension „dbus“
    No valid packages found
    install failed

    C:\dev\xampp>pear install –alldeps phpunit/DbUnit
    No releases available for package „pear.phpunit.de/DbUnit“
    install failed

  3. phpunit –version brachte einen Fatal Error: Call to undefined method PHP_CodeCoverage_Fiter::getInstance() …

    mit
    pear install –force –alldeps phpunit/PHPUnit zusätzlich hats dann funktioniert

  4. Danke für die Anleitung – allerdings habe ich zwei kleine Updates/Anmerkungen:

    Für Schritt 3 und 4 braucht man offensichtlich Administrator-Rechte. CMD muss also als Administrator ausgeführt werden.

    Wie Matthias Herbst schon geschrieben hat funkionert die Installation nicht mehr wenn man den Schritten oben 1:1 folgt. Das Problem ist scheinbar, dass das Symfonie Projekt von symfony-project.com nach symfony.com umgezogen ist. Somit muss man in Schritt 4 auch

    pear channel-discover pear.symfony.com

    ausführen.

    Beachtet man diese beiden Änderungen, dann läuft alles rund.

  5. Bei der Durchführung der Installationsschritte bekomme ich vor allem nach Beachtung des letzten Kommentars keine Fehlermeldungen mehr. Wenn ich aber

    phpunit –version

    aufrufe bekomme ich folgende Fehlermeldung:

    require_once(PHP/CodeCoverage/Filter.php): failed to open stream: No such file or direktory in C:\xampp\php\phpunit on line 38

    Eine Suche auf meinem PC ergab, dass diese Datei auch in keinem anderen Verzeichnis existiert. Ich suche jetzt schon eine Weile im Internet herum und finde keine Lösung. Es wäre schön, wenn sich jemand finden würde, der sie hat.

    Ich finde es toll, dass diese Anleitung hier existiert. Ich weiß gar nicht, wie man das sonst alles hinbekommen soll.

    Falls jemand die Lösung weiß, sage ich jetzt schon mal Danke.

  6. Hallo,

    Vielen Dank für das Tutorial. Bei dem derzeitigen XAMPP ist PHPUnit schon drin. Also reduzieren sich obige Schritte auf das setzen der Umgebungsvariablen.

    Viele Grüße,
    Peter

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.