Programmiertechnisches Praktikum
Sommersemester 2012
Java Dokumentation
- Oracle Java 7 Docs
- Oracle Java 7 API Docs
- JDK 6.0 Documentation [nur innerhalb des Uni-Netzes zugreifbar]
- Java im Informatik-Rechenzentrum
Java Entwicklungsumgebungen
- unter Solaris, Linux und Windows:
Eclipse - unter Windows:
NetBeans - unter Solaris:
Sun Java Studio Enterprise 8
(Aufruf:s1studio &)
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:
- ein Unterordner des Verzeichnisses E:\Benutzer\ (lokal)
- (besser!) ein Unterordner im persönlichen Home-Verzeichis auf dem Unix-Bereich unter Z:\...
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
- @author -- Autoren
- @version -- Version und Datum
- @param -- Parameter
- @return -- Rückgabewerte
- @exception -- ausgelöste Fehlerbehandlung(en)
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
- entweder über die Option -classpath <Pfad>:<Pfad> .... bei den Java-Kommandos
- oder das Setzen der CLASSPATH-Umgebungsvariable
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 inmain 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
.