Unit Tests mit Java - Quelltexte
Startseite | Quelltexte | Web-Links

Codebeispiele

Der Beispielcode aus den einzelnen Kapiteln befindet sich in den Packages kapitel1, kapitel2 ... kapitel13, jeweils nur im endgültigen Zustand, d.h., die im Buch aufgeführten Zwischenschritte sind nicht enthalten. Da sich die Beispiele aus Kapitel 4 überwiegend auf Klassen aus Kapitel 3 beziehen, wurden sie dort – im Package kapitel3 – eingearbeitet.

Zusätzlich existiert in jedem Package eine Klasse AllTests, welche alle Testsuiten des jeweiligen Packages zusammenfasst. Die Klasse utmj.tests.AllTests umfasst ihrerseits alle AllTests-Klassen in einer Suite.

Damit alle Tests funktionieren können, sind folgende Bedingungen zu beachten:
  • JUnit muss in Version 3.7 oder höher im Klassenpfad installiert sein.
  • Kapitel 9 erwartet eine ODBC-Datenquelle mit Namen "CRM" und folgenden 3 Tabellen:
    • Customer: id (primary key), name, category (foreign key)
    • CustomerCategory: name (primary key)
    • CustomerContact: id (primary key), contact_note, contact_date, customer_id (foreign key)
    Die referenzielle Integrität der Foreign-Key-Beziehungen sollte von der Datenbank erzwungen werden.
    Hier finden sie eine passende MS-Access-Datenbank.
  • Kapitel 10 benötigt das utmj.threaded-Package (siehe unten).
  • Kapitel 11 verlangt das Deployment der RMI-Klassen und eine gestartete RMI-Registry auf dem Default-Port (1099).
  • Kapitel 12 benötigt das utmj.servlet-Package (siehe unten), das Deployment der Klasse MyServlet unter der URL http://localhost:8080/servlet/kapitel12.MyServlet sowie ein korrekt installiertes HttpUnit. Eine abweichende URL erfordert die Anpassung der Testklasse MyServletTest.
    Die auf Cactus basierende Testsuite MyServletCactusTest wurden auskommentiert, da Cactus eine komplexe Installation erfordert und nur für einen kleinen Teil der Leser interessant sein dürfte.

Sind alle obigen Voraussetzungen gegeben, sollte die Testsuite in utmj.tests.AllTests mit 114 Tests fehlerfrei durchlaufen.


JUnit-Erweiterungen

Folgende proprietäre JUnit-Erweiterungen werden im Buch verwendet:
  • utmj.threaded zum Testen von Multi-Thread-Programmen, inklusive aller Testfälle und eines Beispiels, das einen Synchronisationsfehler aufdeckt.
  • utmj.servlet zum Testen von Servlets ohne vorheriges Deployment, inklusive aller Testfälle.
Hier findet man die CLASS-Files beider Erweiterungen in einem JAR-File.