Als erstes möchte ich mich für die rege Teilnahme bedanken und dass alle so eisern – auch wenn das Thema recht trocken ist, bzw. sein kann – durchgehalten haben. Gerade bei diesem Thema ist es schwierig auf den Punkt zu kommen. Es geht ja nicht allein um die reine Implementierung von Tests sondern im besonderen um das Warum… das große Ganze… das Ziel… 😉

Das Ziel ist natürlich robuste und flexible Software zu implementieren. Und so gern mich auch gerne mit Themen und Ansätzen wie dem eXtreme Programming oder Agile Development befasse – die Realität sieht noch (! …) anders aus. Ich hoffe aber das zumindest klar geworden ist, dass Tests schnell implementiert sind man diese undankbare Arbeit nicht erst zum Schluss machen werden muss ;). Das erspart diverse Suchen nach Fehlern und viel Stress in der Endphase des Projektes.

Ein Nachtrag zum einem kleinen Thema, als die Collection implementiert wurde. Ein Teilnehmer schlug vor für die Collection die Methoden delete(IContact):Boolean und update(IContact):Boolean zu implementieren. Ich bin nicht näher auf die Thematik eingegangen, da mir die Zeit etwas davon lief. Hier zwei Gründe, diese nicht in der Collection zu implementieren. Die Collection ist Teil des Domänen Models. Sie soll helfen die Datenstrukturen auf Seite des Clients (Domänenmodell auf serverside analog) verständlich zu modellieren. Zum anderen sind es CRUD (create, read, update und delete) Methoden, die eher durch einen Proxy implementiert werden sollten. Die Signatur würde ich anpassen: delete(IContact):void und update(IContact):void. Wieso? es sind asynchrone Methoden die durch den Proxy ausgeführt werden und man auf einen Event warten würde, bzw. sollte. Das nur als Nachtrag von mir.

Die Dateien… ich habe das Flex Builder Projekt hochgeladen. Ich habe den Code etwas aufgeräumt, get/set Accessor angepasst, der Collection adäquate Zugriffsoperationen für die unterliegende ArrayCollection spendiert und einen kleinen Loader sowie einen XMLParser implementiert, der auf den Loader zugreift. In dem Ordner docs befindet sich die FlexUnit.ppt, leicht verändert. Nach der Anpassung in ${project.home}/ant/flex/build.properties der Property FLEX_HOME sollte das Ant Script schon funktionieren. Windows Nutzer müssen zusätzlich die Property
flashplayer.name=FlashPlayer.exe setzen und die targets run.application und run.tests anpassen, um den Player durch Ant starten zu können.

[sourcecode language=’xml‘] description=“Runs the application in the local Flash player.“
name=“run.application“>


description=“Runs the testcases in the local Flash player.“
name=“run.tests“>
Running ${testrunner.file.name}



[/sourcecode]

Hier der Link zu den Dateien: Link Die Beispiel-Dateien liegen bei Google Code zum Download bereit.

An dieser Stelle möchte ich noch unauffällig auf meinen Workshop im Laufe der kommenden Flashforum Konferenz hinweisen: RIA Architekturen. Ich würde mich freuen, das ein oder andere Gesicht dort wieder zusehen.

Bei Fragen oder Anmerkungen einfach eine Post hier oder Email an mich…