MIN-Fakultät
Fachbereich Informatik
Rechenzentrum

Programmiertechnisches Praktikum
Sommersemester 2012

Java Dokumentation

Java Entwicklungsumgebungen

Verwendung von Eclipse und NetBeans auf den PCs

Im RZ-PC-Pool sind neben BlueJ auch Eclipse und NetBeans als Java-IDEs im Multiuser-Modus installiert. Beim ersten Aufruf durch eine(n) BenutzerIn wird nach einem Verzeichnis gefragt, in dem die persönlichen Dateien abgelegt werden sollen. Dazu gehören u.a. auch die Dateien der Tutorials.
Es bieten sich dafür zwei Orte an: Die Daten sollten möglichst mit einem (SVN-)Repository synchronisiert werden.
Unabhängig davon können jederzeit andere Ordner zur Dateiablage gewählt werden. Java 7 ist Standard auf den PCs unter Windows-XP und Linux.

Dokumentation - Verwendung von javadoc

Java-Quelltexte sollten stets mit /** ...*/ -javadoc-Kommentaren versehen werden, um zum einen eine umfassende, aktuelle und vernünftige interne Dokumentation mitzuführen, zum anderen die Generierung der (externen) Schnittstellen- und Benutzungsbeschreibung einfach und konsistent vorzubereiten.
Dabei sollten insbes. die javadoc-Makros verwendet werden (vgl. PTP-Bsp.-Aufgabe 1!).
Die angeführten Kommentare erleichtern zudem dem Korrektor die Arbeit...

Achtung: Bei Verwendung von javadoc ab 2.x darf kein Doppelpunkt (:) direkt hinter dem tag stehen, sonst wird der tag ignoriert! Ebenso müssen bei @param die Parameterbezeichner plus Kommentar angegeben werden.

Einbindung von JUnit 4

Am Inf.-RZ ist JUnit als Standard-Erweiterung im Java-System eingetragen. Es sollte daher automatisch gefunden und benutzt werden können.

Falls das nicht klappt oder auf einem Rechner gearbeitet wird, der nicht vom Inf.-RZ betreut wird, ist ein dann Eintrag im Suchpfad notwendig, damit die JUnit-Klassen und Packages gefunden werden.
Das kann unter Solaris

erfolgen.
tcsh:  setenv CLASSPATH .:/local/java/junit4.8.1/junit-4.8.1.jar[:$CLASSPATH]
bash:  export CLASSPATH=.:/local/java/junit4.8.1/junit-4.8.1.jar[:$CLASSPATH]
$CLASSPATH am Ende der Zeile darf nur dann aufgeführt werden, wenn die Variable bereits gesetzt ist!

 Unter ~ptp/cshrc.ptp (Solaris) steht ein csh-Script, dass die CLASSPATH-Variable (für die [t]csh) setzt. Es kann mittels source ~ptp/cshrc.ptp ausgeführt werden. (Für die bash ist . ~ptp/bash.ptp zu verwenden.)

Der . (Punkt) sollte stets mit eingebaut werden, damit Klassen in dem aktuellen Verzeichnis weiterhin gefunden werden!!!

Auf den Windows-PCs liegt JUnit unter D:\programme\Junit*. Es sind die Versionen 4.8.1 (in Eclipse eingebaut) und 4.10 vorhanden. Mittels

set classpath=.;D:\programme\junit4.10;%classpath%
kann im "MSDOS"-Fenster die Variable analog zu Unix gesetzt werden.
Für die Benutzerumgebung unter XP kann ausserdem überEigenschaften -> Umgebungsvariablen des Arbeitsplatzes ein Eintrag für den CLASSPATH gesetzt werden. Analog können andere JUnit-Versionen gesetzt werden.

Achtung:
Ab JDK 1.4 ist assert ein Schlüsselwort. Die Syntax ist zudem anders. Daher werden die von älteren JUnit-Versionen(3.x) verwendeten assert()-Anweisungen mit einer Fehlermeldung quittiert!
Die JUnit-Readme-Datei weist darauf hin, dass assert() als deprecated markiert ist und statt dessen die neue Methode assertTrue() verwendet werden soll!
(alternative Abhilfe: Aufruf javac -source 1.3 ... Die Option -nowarn unterdrückt die Warnungen.)

Hinweis:
Sollte ein Paket / eine Klasse nicht gefunden werden, kann man sich mittels der Option -verbose beim Aufruf von java alle geladenen Klassen anzeigen lassen!

Start eines JUnit-Testlaufs (in JUnit 3.x)

Der einfachste und schnellste Testlauf erfolgt im Textmodus. Dazu baut man am besten in main folgendes ein:
    public static void main (String[] args) 
    {
        junit.textui.TestRunner.run (suite());
    }
Die grafischen Varianten (AWT bzw. Swing) können durch Aufruf der folgenden Varianten gestartet werden:
   java junit.awtui.TestRunner [<TestKlasse>]
oder
   java junit.swingui.TestRunner [<TestKlasse>]

Gibt man die Testklasse nicht an, so kann man sie in dem gestarteten Fenster benennen. Die swingui-Variante bietet mehr Möglichkeiten!

JUnit 4.x arbeitet mit Annotationen

.

Links zu Junit-Infos