Archive for the ‘PTI’ tag
Continuous Testing mit PHP?
Continuous Integration ist einigen eventuell ein Begriff. Dabei geht es darum, einen Server zu haben der bei jedem Commit (bzw. Push) des Quelltextes Dinge ausführt wie Unit Tests, Akzeptanz-Tests, PHP Lint, CodeSniffer oder auch ein Deployment auf einen Test-Rechner. Wenn man nun also häufig pushed kann man sicher sein dass (bei genügend guten Tests) die Software läuft und nichts kaputtgegangen ist. Und wenn doch, weiß man wann es ungefähr passiert ist.
Continuous Testing geht nun noch einen Schritt weiter. Hierbei werden nicht erst bei jedem Push die Unit-Tests gestartet sondern bei jedem Abspeichern einer Datei auf dem Entwicklungsrechner. Da gibt es nun mehrere Ansätze wie man das erreichen kann. Vielleicht kennt ihr andere und bessere Tools, um kontinuierlich auf der Workstation zu testen.
Möglichkeit 1: Die IDE bietet einen „On-Save“ Einstellung, wo man einen Befehl eingeben kann der ausgeführt wird sobald die IDE eine Datei abspeichert. Dort trägt man dann sein Shell-Script ein das die Unit-Tests startet. in PHPStorm kann man zum Beispiel auch einstellen dass nach 15 Sekunden IDLE automatisch gespeichert wird, oder wenn PHPStorm den Fokus verliert (weil man gerade in den Browser wechselt). Ein Garant für häufiges Testen.
Mein Montag auf der IPC SE 2010 in Berlin
Meine zweite PHP-Konferenz (wenn man die Unconference 2009 dazuzählen möchte) startete gestern, aber nicht alles läuft so wie es laufen sollte.
Um 3:15 klingelte der Wecker. 3:45 losgefahren, noch 2 Personen aus Bielefeld abgeholt die mit nach Berlin fahren wollten (Mitfahrzentrale) und dann auf die Autobahn. Alles lief super, bis zum Ortsschild Berlin: Stau, 12 Kilometer. Von 8 bis 9:30 also Zeit verloren und die erste Session auf der Konferenz direkt verpasst, den Vortrag über Zend Framework und Doctrine hätte ich sehr gern gesehen ;-(
Die interessanteste Session des Tages war für mich die Präsentation von „PHP Tool Integration“ (PTI). Schonmal gehört bei Nils im Blog, doch „wir hatten ja bereits die entsprechenden Tools auf dem Continuous Integration (CI) Server im Einsatz“, also brauche ich das nicht mehr auf der Workstation. Mit diesem Eclipse-Plugin ist es möglich, PHPUnit, PHP_Codesniffer, PHP Depend und PHP Copy/Paste Detector zu integrieren und direkt aus der IDE heraus mit einem Klick auszuführen. Doch ich habe mich geirrt, Sven hat mich umgestimmt.