Um Unittests und ggf. weitere Checks direkt aus der IDE zur Ausführung zu bringen, bietet es sich an, diese Funktionalität in die jeweilige Entwicklungsumgebung einzubetten.
Meine Systemvoraussetzungen:
- MacOSX 10.6.4
- PDT 1.2
- XAMPP für Mac OSX
Um PHPUnit zu installieren, wird das PEAR-Framework vorausgesetzt. Um zu testen, ob dieses installiert ist, kann man dieser Anleitung folgen. Wer, wie ich Xampp unter Mac OSX einsetzt, findet die pear-Binary normalerweise unter:
.
Um nun PHPUnit zu installieren, geben wir folgende Befehle ein:
cd /Applications/xampp/xamppfiles/bin sudo ./pear channel-discover pear.phpunit.de sudo ./pear channel-discover pear.symfony-project.com sudo ./pear install phpunit/PHPUnit
Nun sollte PHPUnit installiert sein, was wir mit folgender Anweisung testen können:
cd /Applications/xampp/xamppfiles/bin sudo ./phpunit --version
Um nun PHPUnit in PDT zu integrieren, installieren wir uns das Eclipse-Plugin “PHP Tool Integration (PTI)” von PHPsrc.
Zur Installation des Plugins:
- PDT > Help > Install New Software …
- Add > http://www.phpsrc.org/eclipse/pti/
- Dann bei den gewünschten Paketen einen Haken rein und ab dafür.
Die letzte Hürde, die wir zu nehmen haben, ist nach dem Neustart von PDT die Konfiguration vom PTI-Plugin.
Hierzu gehen wir wie folgt vor:
- Eclipse > Einstellungen > PHP > PHP Executables > Add…
- Name: PHP
- Executable Path: /Applications/xampp/xamppfiles/bin/php
- PHP ini file (optional): /Applications/XAMPP/xamppfiles/etc/php.ini
- SAPI Type: CLI
- PHP Debugger: XDebug
- Eclipse > Einstellungen > PHP Tools > PHPUnit > PHP Executables > “PHP”
Fertig!
Nun stehen einem die Funktionen des PTI-Plugins zur Verfügung, womit sich der Entwicklungsprozess von PHP-Anwendungen noch effektiver gestalten lässt.
Wer zum Beispiel einen Continous Integration Server, wie PHPUnderControl einsetzt, kann mit diesem Plugin, die auf dem CI-Server ausgeführten Tests & Checks (PHPUnit, PHP_CodeSniffer, PHPcpd, PHP Depend) schon einmal lokal prüfen, um die Anzahl der fehlgeschlagenen Builds möglichst gering zu halten.
Verantwortliche Codezeilen für fehlgeschlagene Tests & Checks werden direkt im Code hervorgehoben.