PHPUnit unter MoWeS installieren Juni 3. 2011
Auf meinen Artikel zu PHPUnit und XAMPP hatte sich Christian Lenz bei mir gemeldet. Er hatte auch noch Schwierigkeiten, hat es aber dann noch unter MoWeS (statt XAMPP) zum Laufen gebracht. Er war so freundlich mir sein "PHPUnit Tutorial" zuzusenden damit ich es hier auch veröffentlichen kann. Vielleicht hilft es ja auch dem ein oder anderen noch weiter.
PHPUnit - Tutorial
PHP Erweiterungen installieren/aktivieren
Will man neue Funktionen benutzen kann man diese in die php.ini entweder eintragen oder ändern.
Einfach nach extension= suchen und man findet eine Liste mit den Erweiterungen die aktiviert/deaktiviert sind.
WICHTIG: Damit die Erweiterungen funktionieren müssen die angegebenen DLLs im php5\ext Ordner vorhanden sein. Ist dich nicht so, einfach nach den DLLs googlen.
PEAR installieren (erledigt)
PEAR muss im MoWeS Ordner vorhanden sein, dort drin dürfen nicht nur 1 oder 2 Dateien sein sondern Ordner und mehr. Sollte dies nicht der Fall sein, muss die go_pear.bat im übergeordneten Ordner ausgeführt werden. Der Ordner MoWeS Sollte dabei in C:\ liegen da sonst Fehler auftreten könnten. Neue PEAR Version muss runtergleaden werden, da sonst Fehler entstehen http://pear.php.net/go-pear.phar. Die vorhandene Datei im php5\PEAR Ordner mit dieser überschreiben und danach die go-pear.bat Datei im übergeordneten Verzeichnis ausführen.
Meine Angaben:
Lokal oder Systemweit: local
Bestätigen: yes
Pfadangabe: ENTER
Eintrag in die php.ini machen: y
PEAR konfigurieren (erledigt)
Damit auch alles in den richtigen Ordnern landet, muss man nach der Installation von PEAR diesen noch konfigurieren. Mit pear upgrade PEAR kann man eine neue Version installieren, soweit verfügbar.
Hier die Befehle:
pear config-set doc_dir C:\MoWeS\php5\docs
pear config-set cache_dir C:\MoWeS\php5\tmp
pear config-set cfg_dir C:\MoWeS\php5\cfg
pear config-set data_dir C:\MoWeS\php5\data
pear config-set download_dir C:\MoWeS\php5\tmp
pear config-set temp_dir C:\MoWeS\php5\tmp
pear config-set test_dir C:\MoWeS\php5\tests
pear config-set www_dir C:\MoWeS\php5\www
Channel hinzufügen, updaten:
pear channel-discover pear.pdepend.org
pear channel-discover pear.phpmd.org
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear channel-update pear.php.net
Pear konfigurieren, die Pfade angeben. Usw.:
http://blog.xantiva.de/archives/111-PHPUnit-unter-XAMPP-installieren.html
XDebug in MoWeS integrieren (erledigt)
php –i > phpinfo.txt (Schreibt den Output direkt in eine Textdatei aus der man die Infos kopieren und auf diese Webseite einfügen kann:
http://www.xdebug.org/find-binary.php. Nach einfügen der Infos und Klick auf den Button, bekommt man alle Infos die man braucht. Zum einen welche Versionen man hat und ob was deaktiviert/aktiviert ist. Danach wird einem die richtige Datei zum Download für xdebug angeboten. Bei mir war es diese: http://xdebug.org/files/php_xdebug-2.1.1-5.3-vc6.dll
Danach lädt man sich die Datei herunter und kopiert sie in den Ordner C:\MoWeS\php5\ext. Zum Schluss müssen diese Zeilen noch eingefügt werden, am besten ans Ende:
[xdebug]
zend_extension = C:\MoWeS\php5\ext\php_xdebug-2.1.1-5.3-vc6.dll
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
Um auf Nummer sicher zu gehen, kann man php –i > phpinfo.txt nochmal ausführen und nochmal auf die Seite gehen um zu schauen ob xdebug installiert ist. Wenn ja, wird neben Xdebug installed: die Version angezeigt.
PHPUnit in MoWeS integrieren
pear channel-discover pear.phpunit.de
pear channel-discover components.ez.no
pear channel-discover pear.symfony-project.com
pear channel-update pear.php.net
pear install Text_Highlighter-0.7.1 (Optional)
pear install pdepend/PHP_Depend (Optional)
pear install phpmd/PHP_PMD (Optional)
pear install phpunit/phpcpd (Optional)
pear install phpunit/phploc (Optional)
pear install PHPDocumentor (Optional)
pear install PHP_CodeSniffer (Optional)
pear install --alldeps phpunit/PHP_CodeBrowser (Optional)
pear install pear/XML_RPC2 (Wichtig – Benötigt in der php.ini die Aktivierung der Erweiterung extension=php_curl.dll)
pear install --alldeps phpunit/PHPUnit-3.5.13 (Wichtig – Benötigt pear/XML_RPC2. Sollte die Version nicht gehen oder sollte im php5 Ordner nur eine dbunit und dbunit.bat sein dann muss diese Version 3.15.10 angegeben werden. Danach nochmal im php5 Ordner schauen obs die phpunit und phpunit.bat gibt.)
Nun sollte man noch die phpunit.bat öffnen und dort die Zeile
PHPBIN=.\php.exe auf PHPBIN=C:\MoWeS\php5\php.exe ändern, da Netbeans .\php.exe nicht auflösen kann und somit ein Fehler kommt. Es muss also der Absolute Pfad sein.
Netbeans für PHP Anwendungen vorbereiten
WICHTIG: Der Pfad darf keinen UNC Pfad haben, dies wird nicht unterstützt. Über die Angabe des UNC-Pfades kann ohne Laufwerksbuchstabe auf einen Pfad im Netzwerk zugegriffen werden.
Deswegen am besten in C:\Projekte\PhpProject1 anlegen.
Nun kann man neues PHP-Projekt anlegt und muss bei 3. Run Configuration die Project URL ändern und zwar auf http://localhost:22222/PhpProject1 (Port variiert von dem was man in der httpd.conf eingegegen hat.)
Haken bei „Copy files from Sources Folder to another location“, hier wird bei jedem speichern/ausführen, das Projekt in das Verzeichnis kopiert, auf das Mowes zugreift der www ordner. C:\MoWeS\www\PhpProject1. Aktualisierungen werden mit kopiert, also alles. Einfach F6 drücken um die Anwendung auszuführen. Oder Strg+F5 um die Anwendung im Debugmodus einzuschalten und um zu schauen ob er bei einem Breakpoint auch anhällt.
http://netbeans.org/kb/docs/php/debugging.html (Dokumentation wie man richtig debugt)
Will man jetzt noch den Debugger xdebug benutzen, muss xdebug wie vorher beschrieben in MoWeS integriert und kontrolliert werden ob die Einstellungen in Netbeans auch stimmen.
Paar Seiten für die evtl. Installation und Konfiguration:
http://lemmingzshadow.net/73/netbeans-ide-mit-xdebug/ (Beschreibt die Änderungen für die PHP.ini und Einstellungen in Netbeans)
http://ragtek.org/blog/rumprogrammiererei/php/netbeans-und-xdebug/ (Das Selbe)
http://www.perfect-knowhow.de/blog/archives/php-debugger-xdebug-in-netbeans-installieren (Das Selbe wie 1.)
http://www.xdebug.org/ (Xdebug Seite)
Im PHP-Projekt erstellt man nun einen Ordner mit Namen Tests (oder wie auch immer), macht Rechtsklick auf die index.php Seite -> Extras -> Create PHPUnit tests worauf ein Dialog erscheint, welches den Ordner haben möchte in den die Tests hineinkommen. Dort wählt man den zuvor erstellen Tests Ordner aus und klickt ok. Wenn alles funktioniert dann erstellt PHPUnit zu den Funktionen und Klassen jeweils PHP-Dateien, die man dann ausführen kann.
Wichtig, wenn man eine Funktion innerhalb der Testklasse schreibt um damit seine Methoden zu testen, muss die Methode auf jedenfall mit einem kleinen test beginnen:
testMyMethod(){};
Möchte man UnitTests debuggen, dann muss man rechtsklick auf die Testdatei machen und dann debug. Anders ist es mir leider nicht möglich. Noch eine nette Funktion ist die Codeabdeckung. Um diese zu aktivieren einfach Rechtsklick auf das Projekt und dann unter Codeabdeckung -> Codeabdeckung sammeln und anzeigen, auswählen und schon sieht man wieviel vom selbstgeschrieben Code durch die Tests abgedeckt wurde.
http://www.phpunit.de/manual/current/en/index.html (PHPUnit Dokumentation)
Einstellungen in Netbeans: Um xdebug in netbeans nutzen zu können, muss man bei Extras(Tools) -> Optionen -> PHP -> General den PHP Interpreter angeben, das ist die php.exe im MoWeS-Ordner PHP5. Beim Debugging sollte Debugger Port auf 9000 und Session-ID auf netbeans-xdebug stehen.
Der Haken bei Stop at First Line sollte rausgenommen werden, da er sonst überall stoppt, wo ein PHP Tag anfängt und man ja nur möchte, dass der Debugger bei einem Breakpoint stoppt.
Artikel mit ähnlichen Themen:
PHPUnit unter XAMPP installieren
GnuPG wurde nicht gefunden (Enigmail), KB2526954 Schuld?
Medion MD96630, Bildschirm schwarz
TCPDF Performance -> Output ist langsam?
Bumblebee 3, Probleme ohne Adminrechte
PHPUnit unter XAMPP installieren
GnuPG wurde nicht gefunden (Enigmail), KB2526954 Schuld?
Medion MD96630, Bildschirm schwarz
TCPDF Performance -> Output ist langsam?
Bumblebee 3, Probleme ohne Adminrechte
Als PDF ansehen: Dieser Artikel | Dieser Monat | Vollständiges Blog
Trackbacks
Trackback für spezifische URI dieses Eintrags
Keine Trackbacks
Als PDF ansehen: Dieser Artikel | Dieser Monat | Vollständiges Blog
