Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

FH-Hof Tools Richard Göbel. FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung.

Ähnliche Präsentationen


Präsentation zum Thema: "FH-Hof Tools Richard Göbel. FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung."—  Präsentation transkript:

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)


Herunterladen ppt "FH-Hof Tools Richard Göbel. FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung."

Ähnliche Präsentationen


Google-Anzeigen