Um in einem Team komplexe und gleichzeitig qualitativ hochwertige Software erstellen zu können ist es notwendig, eine Application in ihre logischen Module oder Packages zu "zerlegen". Das fördert nicht nur den Überblick, sondern auch die später notwendige Pflege inklusiver modularer Versionierung, sowie das getrennte (weiter-)entwickeln der einzelnen Module.
Die Aufteilung der einzelnen Module sollte in zwei Bereiche erfolgen.
1. Module die applicationsspezifisch sind und
2. Module die applicationsübergreifend sind
Problematisch wird es dabei diese einzelnen Module umfangeich zu testen und im besonderen die Applicationsübergreifende, denn wenn in diesen Module ein Fehler enthalten ist, so ist er natürlich in allen Applicationen "verfügbar".
Um nun diese einzelnen Module sorgfältig testen zu können ist eben ein UnitTesting notwendig, welches sinnvoller Weise programmatisch erfolgenden sollten, denn als Programmierer ist man recht schnell genervt, wenn mann nach jeder Änderung eines Moduls, immer wieder alle Fehlermöglichkeiten wiederholt testen muss. Aber genau das ist meiner Meinung nach eben notwendig.
Um dieses Testen nun zu automatisieren und dadurch schnell und sicher alle Fehlermöglichkeiten ausprobieren zu können ist dieses UnitTesting-Framework cfUnit gedacht.
Hier mal einen Link über den Nutzen von cfUnit in English vom Luis F. Majano sowie zur ausführlichen Dokumentation der cfUnit , welche wie so oft von Java abgeleitet wurde.
Was ich ganz besonders cool find, ist das es mittlerweile auch vom PlugIn cfEclipse unterstützt wird.