In diesem Blog möchte ich Hilfestellungen und Lösung zu kleinen Probleme meines Arbeitsalltags dokumentieren. Vielleicht ist ja für den einen oder anderen etwas dabei, was ihm weiterhilft.

Eclipse Plugins

In meiner täglichen Entwicklerarbeit habe ich es durch TDD vor allem mit zwei Plugins unter Eclipse zu tun, nämlich EclEmma (für die Code Coverage Analyse) und MoreUnit (für das leichtere Handling UnitTest zu Klasse).

Dabei sind mir folgende Verbesserungen aufgefallen, die ich euch gerne mitteilen möchte.

MoreUnit

MoreUnit verwende ich, weil es die Erstellung von Klasse auf Basis von Tests oder umgekehrt (Refactoring von Legacy Code) erleichtert.

Zudem lassen sich Tests sehr schnell mit Strg + R ausführen, egal ob man sich im Test oder in der Klasse befindet.

Eines der Probleme, die bei der Arbeit mit MoreUnit im Umfeld von hybris nun entstanden ist, ist der Umstand, dass es unter hybris mehrere Source Ordner gibt und dazu mehrere assoziierte Testordner:

Multiple Java Folders

In obigem Fall ist

  • web/testsrc Testordner zu web/src und
  • testsrc Testordner für src.

In den allgemeinen Preferences zu MoreUnit läßt sich aber nur ein Standardordner für Tests eintragen, weshalb man in diesen Fällen eine projektspezifische Konfiguration benötigt.

MoreUnit Configuration

In obigem Dialog werden also Testordner eingetragen und einer oder mehrere assoziierte Source Code Ordner.

Interessanterweise ist es auch möglich – zumindest im hybris Umfeld – in den allgemeinen, also projektunabhängigen Settings, unter Java als Test soruce folder einfach „test“ anzugeben. Warum und wie dieses Mapping funktioniert, ist mir aber unklar.

EclEmma

Die Performance der Anzeige der Code Coverage unter EclEmma läßt sicher sehr schnell erhöhen – insbesondere in Eclipse Workspaces mit zahlreichen Projekten wie ich sie unter hybris permanent habe – indem man direkt in den Coverage Configurations den Analysis Scope anpasst.

Coverage Configuration -> AnalysisScope

Man kann sehen (oder wie Obi Wan sagen würde fühlen), dass der Analysis Scope zu groß ist, wenn der Test (meist ja ein Unit Test) bereits durchgelaufen ist, aber die Coverage Analyse nun noch einige Sekunden braucht, sich aufzubauen.

In meinem Fall, wo es sich ausschließlich um UnitTests handelt, ist dies besonders performancelastig und der Scope ist letzten Endes meist nur eine Klasse.

 

Daily Doing
Markiert in:             

Kommentar verfassen

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.