TAG | phpUnderControl
5
Continuous Integration: Hudson vs phpUnderControl
14 Comments · Posted by Christian in The right tool
Earlier this year I decided to go with Hudson as my Continuous Integration Server for testing my symfony plugins.
Earlier this week I installed phpUnderControl and wrote about setting up both phpuc and Hudson-CI.
Now what should you use? Here I try to summarise my experience and compare the two. (more…)
Continuous Integration · CruiseControl · Hudson · Integrations Tests · phpUnderControl · Tests · Unit Tests
3
Running PHPUnit tests for your symfony plugin in phpUnderControl
5 Comments · Posted by Christian in The real job
As I’ve just started to look into phpUnderControl again I thought why not try to setup a project for testing sfImageTransformExtraPlugin running all the PHPUnit tests that I wrote about last week.
So the goal is to setup a phpuc project for a single plugin but with all dependencies (symfony itself) provided. This was a bit tricky so here we go! (more…)
Clover · Continuous Integration · CruiseControl · Integrations Tests · phpUnderControl · phpUnit · Plugin · sfImageTransformExtraPlugin · symfony · Test Coverage · Tests · Unit Tests
29
Setting up phpUnderControl on Gentoo Linux Reloaded
4 Comments · Posted by Christian in The right tool
Those of you following my blog know that I use Hudson as my continuous integration server. You can see the running installation at automat.ical.ly.
Today I decided to give phpUnderControl another shot and I found that the brilliant post by Andries Seutens needs an update.
Continuous Integration · CruiseControl · Gentoo · Hudson · phpUnderControl
13
Wann folge ich einem Standard und wann suche ich eine Alternative?
3 Comments · Posted by Christian in The right tool
Ich bin seit gestern geschäftlich auf Reisen und sitze nun in meinem Hotelzimmer und habe nicht mehr allzu lange Zeit, um noch einen Beitrag hier zu schreiben. Und natürlich hatte ich auch gestern Abend keine Gelegenheit mehr, mich praktisch mit irgendetwas diesen Blog betreffendem auseinanderzusetzen. Doof, wenn man doch eigentlich versucht täglich was zu schreiben..
Aber Gedanken habe ich mir gemacht und zwar über den Kommentar von Christian Weyand zu meinem gestrigen Post.
Er freute sich über den Tipp sich doch mal mit Hudson zu beschäftigen. Offensichtlich bekam er seine phpUnderControl Installation zusammen mit PHPUnit Tests nicht so zum laufen, wie gewünscht. Meine direkte Antwort war allerdings sich doch intensiver mit den Macher und Nutzern von PHPUnit und phpUnderControl auseinanderzusetzen, weil diese Kombination nach meinen Recherchen deutlich verbreiteter ist, als PHPUnit mit Hudson. Ergo sollte dort wesentlich mehr Hilfe im Netz zu erwarten sein.
Jetzt muss ich mir aber auch die Frage stellen, warum ich selber denn Hudson ausprobieren will.
Nach meinem Post von gestern bin ich etwas unentschlossen, was meine Wahl eines CI Tools angeht.
Bisher bin ich quasi davon ausgegangen, dass ich voll und ganz auf phpUnderControl bzw. CruiseControl setzen werde. Nachdem ich das aber zumindest mit symfony und lime bisher nicht zum laufen bekommen habe und stattdessen eine Erfolgsgeschichte zu symfony und dem CI Tool Hudson gelesen habe, juckt es mich in den Fingern mehr zu erfahren.
Zunächst mal ist mir bei meiner Recherche aufgefallen, dass auch phpUnderControl bzw. Manuel Pichler Anleihen bei Hudson genommen haben, nämlich das Dashboard.
“A new index page, inspired by the dashboard of the continuous integration tool hudson.” [Quelle]
Einen direkten Vergleich von phpUnderControl und Hudson kann man nur schwer anstrengen, da phpUnderControl im Grunde genommen nur eine PHP Fassade für CruiseControl ist. Der Vergleich sollte also zwischen CruiseControl und Hudson stattfinden.
Nach ein wenig googlen findet man schnell zahlreiche Vergleiche auf diversen Blogs. Am anschaulichsten erscheint mir dieser Post auf minddiary.com. Die meisten der anderen Berichte sind eher persönliche Erfahrungen und Bewertungen. Auch nicht uninteressant aber halt kaum gegenüberstellend.
Wenn man sich die direkte Gegenüberstellung mal so durchschaut, stellt man fest, dass der Feature Umfang doch recht ähnlich ist. Die Conclusion wiederum scheint mir ein klassischer Fall von “liegt mir besser in der Hand” zu sein.
Der wichtige Punkt, der einen deutlichen Vorteil von Hudson darstellen könnte ist die einfache Installation und vor allem Konfiguration. Bisher bin ich genau daran bei CruiseControl gescheitert. Mal schauen, ob ich mich mit Hudson besser anfreunden kann.
Ein noch breiterer Vergleich von noch mehr CI Tools findet sich hier bei ThoughtWorks. Dort werden sage und schreibe 26 CI Tools in einer Matrix verglichen. Ratet mal, was ich als nächstes lese.
Continuous Integration · Hudson · Manuel Pichler · phpUnderControl
8
xUnit konforme Testergebnis-Ausgaben von symfony lime Tests
No comments · Posted by Christian in Miscellaneous
Nachdem ich mich gestern entschieden habe meine symfony Sachen mit lime zu testen, will ich nun versuchen lime mit phpUnderControl zu integrieren.
Ich habe mir hierzu erstmal eine frische symfony 1.4 Installation vorbereitet.
Das Ausführen aller Tests starte ich mit dem Befehl:
$ ./symfony test:all
Nun generiert mir dieser Befehl eine Ausgabe über den Ausgang der gelaufenen Tests. Allerdings ist diese Ausgabe nicht konform zum xUnit Standard sondern zum TAP (Test Anything Protocol) Standard, welcher Plaintext basiert ist und sich als Ziel die Lesbarkeit für den User setzt.
functional/frontend/caeferActionsTest................................ok
All tests successful.
Files=1, Tests=4
phpUnderControl / CruiseControl wiederumf verstehen nur XML nach den in xUnit beschriebenen Formaten. Was nun?
Ich beschäftige mich jetzt seit einiger Zeit mal mehr mal weniger intensiv mit Themen wie Testing, Code Qualität, Continuous Integration, etc. Das Ziel, welches ich aber eigentlich verfolge ist folgendes:
Ich bin PHP Entwickler und arbeite gerne und intensiv mit dem symfony Framework. Ich bin also vor allem daran interessiert meine symfony Anwendungen zu testen. Hier jetzt das Dilemma.
Bernhard Schussek · Continuous Integration · Fabien Potencier · lime · phpUnderControl · phpUnit · Stefan Koopmanschap · symfony · xUnit
So da hab ich also gestern mit Hilfe des ein oder anderen Tipps von diversen Blocks alles installiert und eigentlich auch zum Laufen bekommen. Eigentlich, denn ich habe verschwiegen, dass ich mich natürlich nicht zurückhalten konnte und schon ein erstes kleines Testprojekt angelegt hatte.
CruiseControl · phpDocumentor · phpUnderControl · phpUnit · PHP_CodeSniffer
Warum nicht gleich das komplette Paket?
Der Belgier Andries Seutens hat das praktischerweise in seinem Blog schon mal für meine Linux Distri Gentoo geschrieben. Allerdings hatte ich noch Probleme mit dem maskierten xdebug ebuild. Denn da ich auf einem Maintained Root Server unterwegs bin, konnte ich nicht so einfach ein ebuild anlegen. Mir fehlten die Schreibrechte.. Abhilfe fand ich hier. Außerdem war bei mir eine “veraltete” Version des PEAR Installers installiert, phpUnderControl benötigt da wohl mindestens die Version 1.8.1, da diese maskiert war musste ich dev-php/pear neu emergen und zwar mit ACCEPTED_KEYWORDS=”~x86″.
So, jetzt habe ich jedenfalls ein CruiseControl, welches ich mit dem Browser (via SSH Tunnel) ansteuern kann.
Als nächstes, will ich mal ein Testprojekt starten und dieses mit CruiseControl / phpUnderControl überwachen. Aber das soll morgen passieren, ich muss ja auch noch arbeiten.
CruiseControl · Gentoo · PEAR · phpUnderControl · phpUnit · PHP_CodeSniffer · XDebug

