Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Jeremius Kaseman Geändert vor über 10 Jahren
1
FH-Hof Tools Richard Göbel
2
FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung
3
FH-Hof JUnit JUnit unterstützt automatisierte Softwaretests Junit ermöglicht Blackbox Tests Whitebox Tests auf Methodenebene Junit instrumentiert nicht den Programmcode, um den Abdeckungsgrad eines Tests festzustellen Zwei neue Themen: Annotations Import statischer Funktionen und Variablen
4
FH-Hof Annotation Einfügen von Zusatzinformationen in Quellcode (seit Version 1.5) Annotationen: beginnen mit dem Zeichen @...... werden von dem Compiler nicht übersetzt...... geben aber Zusatzinformation für Tools während Übersetzung, "Deployment" oder zur Laufzeit
5
FH-Hof Compileranweisung @SuppressWarnings public class TestKlasse { @SuppressWarnings("unchecked") LinkedList genList (int n) { LinkedList list = new LinkedList(); for (int i = 0; i < n; i++) list.add(""); return list; }
6
FH-Hof Compileranweisung @Override public class MyWindowListener extends WindowAdapter { @Override // windowClosing waere richtig public void windoclosing(WindowEvent e) { System.exit(0); }
7
FH-Hof Compileranweisung @Deprecated public class TestKlasse { @Deprecated void veryOldFunction () {... }
8
FH-Hof Definition einer eigenen Annotation import java.lang.annotation.*; @Retention(RetentionPolicy.RUNTIME) @interface MethodenAnnotation { String erzeugtVon(); int version() default 1; String[] geaendertVon(); }
9
FH-Hof Anwendung der Annotation @MethodenAnnotation ( erzeugtVon="Hans", version=1, geaendertVon= { "Elke", "Joe", "Mary" }) void someFunction () {... }
10
FH-Hof Abfrage der Annotation zur Laufzeit Class cl = Class.forName("TestKlasse"); Method me = cl.getDeclaredMethod("someFunction"); Class an = Class.forName("MethodenAnnotation"); MethodenAnnotation ma = (MethodenAnnotation) me.getAnnotation(an); System.out.println(ma.erzeugtVon());
11
FH-Hof Import für JUnit Import von Klassen des Package "junit": import org.junit.*; Import statischer Elemente der Klassen "Assert" und "JUnitCore" import static org.junit.Assert.*; import static org.junit.runner.JUnitCore.*;
12
FH-Hof Einsatz vonJUnit JUnit Open Source Software IBM's Common Public License Version 0.5 verfügbar durch SourceForge: http://junit,org Anwendung Realisierung eines beliebigen Java-Programms (wie bisher) JAR-Datei in den Classpath eintragen (z.B. junit-4.4.jar) Implementierung zusätzlicher Testklassen Start der Tests java org.junit.runner.JUnitCore TestClass1, …
13
FH-Hof Beispiele für eine zu testende Klasse class Coordinate { int x = 0, y = 0; void setX(int x) {this.x = x;} void setY(int y) {this.y = y;} int getX(int x) {return x;} int getY(int y) {return y;} }
14
FH-Hof Beispiel für eine Testklasse I class TestCoordinate { Coordinate c; @BeforeClass public static void setUpBeforeClass() throws { c = new Coordinate(); } @Before public void setUp() throws Exception { c.x = 0; c.y = 0; }...
15
FH-Hof Beispiel für eine Testklasse II... @Test public void checkX() throws Exception { c.setX(3); assertEquals("Error X", 3, c.getX()); assertEquals("Side effect Y", 0, c.getY()); } @Test public void checkY() throws Exception { c.setY(5); assertEquals("Error Y", 5, c.getY()); assertEquals("Side effect X", 0, c.getX()); }}
16
FH-Hof Annotationen für JUnit After AfterClass Before BeforeClass Ignore Test
17
FH-Hof Assertions assertEquals assertArrayEquals assertNull, assertNotNull assertFalse, assertTrue assertSame, assertNotSame assertThat fail
18
FH-Hof Assumptions static void assumeNoException(java.lang.Throwable t) static void assumeNotNull(java.lang.Object... objects) static void assumeThat(T value, org.hamcrest.Matcher assumption) static void assumeTrue(boolean b)
19
FH-Hof ANT "Build Tool" zur Erzeugung von Programmsystemen Akronym ANT "Ameise" "Another Neat Tool" Home http://jakarta.apache.org Werkzeug für Java auf Java basierend
20
FH-Hof Beispiel für Aktionen von Ant Kompilieren Testen JAR-Dateien erzeugen Javadoc generieren
21
FH-Hof Installation Umgebungsvariablen set ANT_HOME=... set JAVA_HOME=... set PATH=...;%ANT_HOME%\bin; Anweisungen für ANT über XML-Datei: build.xml
22
FH-Hof Beispiel für eine Build-Datei – Basis
23
FH-Hof Beispiel für eine Build-Datei – Jar-Datei
24
FH-Hof Beispiel für eine Build-Datei – JUnit-Test
25
FH-Hof Beispiele Aufrufe von ANT ant ant translate ant execute ant jtest ant pack
26
FH-Hof Basis project Attribut name: Bezeichnung Attribut default: Default-Target Attribut basedir: Basisverzeichnis target : Menge von Aufgaben (Tasks) Attribut name: Bezeichnung Attribut depends: Abhängigkeiten Attribut description: Kurzbeschreibung task: zu erledigende Aufgaben für ein Target
27
FH-Hof Beispiele für Tasks ant concat copy jar java javac delete mail move rmic sql tstamp
28
FH-Hof Properties Eine Property hat einen Namen und einen Wert Zugriff auf den Wert einer Property innerhalb eines Attributwerts über ${... } Beispiele für eingebaute Properties basedir : absolute Pfad des "basedir" ant.file: absolute Pfad der Build-Datei ant.version: Version von Ant ant.project.name: aktueller Projektname ant.java.version: aktuelle Java-Version
29
FH-Hof Build-Datei mit Properties I...
30
FH-Hof Build-Datei mit Properties II...
31
FH-Hof Bedingte Erzeugung von Targets.......
32
FH-Hof Hierarchisches Erzeugen von Systemen Die einzelnen Build-Dateien folgen der Package- Struktur Beispiel packages a, b, a.c, a.d, a.c.e Build-Dateien für a, b, a.c, a.d, a.c.e Aufruf untergeordneter Build-Dateien aus der Build- Datei des jeweils übergeordneten Package
33
FH-Hof Task Ant antfile: Build-Datei (Default build.xml) dir: Basisverzeichnis target: welches Target soll erzeugt werden output: Dateiname für Ausgabe dieses Kommandos inheritAll: Weitergabe aller Properties (Default: true) inheritRefs: Weitergabe aller Referenzen (Default: false)
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.