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

Slides:



Advertisements
Ähnliche Präsentationen
Software Engeniering II
Advertisements

Blue J.
der Universität Oldenburg
der Universität Oldenburg
der Universität Oldenburg
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
Imperative Programmierung -Entwicklungswerkzeuge
Objektorientierte Programmierung
Java 2 Enterprise Edition (J2EE)
Java: Programmierung grafischer Oberflächen
Threads Richard Göbel.
Java: Reversi Spielbrett
Sortieren mit Binären Bäumen
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
Indirekte Adressierung
FH-Hof SQLJ Richard Göbel. FH-Hof SQLJ - Idee Erweiterung von Java um SQL Die Verwendung von SQL-Anweisungen innerhalb einer Programmiersprache wird vereinfacht.
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Motivation Richard Göbel.
Java: Referenzen und Zeichenketten
FH-Hof Java Packages Richard Göbel. FH-Hof Das Modulkonzept für Java Packages dienen zur Strukturierung größerer Java- Programme Ein Package kann: eigene.
Java: Grundlagen der Objektorientierung
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
Ein Beispiel in Java.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
DO...WHILE Anweisung.
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 4 Vererbung Sommersemester 2003 Lars Bernard.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung X1 Sitzung X1: Packages & Wiederholung.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 7 User Interfaces in Java Sommersemester 2003 Lars Bernard.
Das Test-Framework JUnit
Das Build-Tool ANT ETIS SS05. ETIS SS05 - Nadine FröhlichANT 2 Gliederung Motivation Build - Datei –Allgemeiner Aufbau –Project –Target –Task –Properties.
XDoclet ETIS SS05.
Das Test-Framework JUnit
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
Projektplan: Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University.
Packages Vortrag : Cornelia Hardt 23. November 1999.
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Interfaces. DVG mehrfache Vererbung 4 Mehrfache Vererbung ist die Ableitung einer Klassen von mehreren anderen Klassen. –farbigerPunkt.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
FH-Hof 1 XML-Parser Richard Göbel. FH-Hof 2 XML-Parser- DOM Object Tree Parser Objekt der Klasse 'DocumentBuilderFactory' mit 'newInstance()' erzeugen.
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum Sitzung 7 Sitzung 7: User Interfaces in Java.
University of Applied Sciences Übung Objektorientierte Programmierung II Dipl.-Inf. (FH) Markus Vogler.
Teil II Objekte ergeben ein Ganzes
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
Testtechniken-Praktikum WS 2005/06 1 Arbeiten mit JUnit Andreas Höfer Dr. Matthias Müller Mit Beiträgen von Johannes Link.
Programmiervorkurs WS 2014/15 Instanzmethoden
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java-Kurs Übung Benutzeroberflächen und Graphik
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
Übung Informatik I exercise01. 2 Inhaltsübersicht Nachbesprechung Übung 1 Individuelle Fragen/Bemerkungen.
Java-Kurs Übung Besprechung der Hausaufgabe
Das Build-Tool ANT ETIS SS04. ant 2 Gliederung Motivation Build-Datei build.xml Bestandteile build.xml –Properties Zusammenfassung.
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
von Valentin Durst und Steffi Klein
 Präsentation transkript:

FH-Hof Tools Richard Göbel

FH-Hof Tools für die Veranstaltung JUnit: Testen ANT: Build-Tool Eclipse: Entwicklungsumgebung

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

FH-Hof Annotation Einfügen von Zusatzinformationen in Quellcode (seit Version 1.5) Annotationen: beginnen mit dem werden von dem Compiler nicht übersetzt geben aber Zusatzinformation für Tools während Übersetzung, "Deployment" oder zur Laufzeit

FH-Hof public class TestKlasse LinkedList genList (int n) { LinkedList list = new LinkedList(); for (int i = 0; i < n; i++) list.add(""); return list; }

FH-Hof public class MyWindowListener extends WindowAdapter // windowClosing waere richtig public void windoclosing(WindowEvent e) { System.exit(0); }

FH-Hof public class TestKlasse void veryOldFunction () {... }

FH-Hof Definition einer eigenen Annotation MethodenAnnotation { String erzeugtVon(); int version() default 1; String[] geaendertVon(); }

FH-Hof Anwendung der ( erzeugtVon="Hans", version=1, geaendertVon= { "Elke", "Joe", "Mary" }) void someFunction () {... }

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());

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.*;

FH-Hof Einsatz vonJUnit JUnit Open Source Software IBM's Common Public License Version 0.5 verfügbar durch SourceForge: 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, …

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;} }

FH-Hof Beispiel für eine Testklasse I class TestCoordinate { Coordinate public static void setUpBeforeClass() throws { c = new Coordinate(); public void setUp() throws Exception { c.x = 0; c.y = 0; }...

FH-Hof Beispiel für eine Testklasse public void checkX() throws Exception { c.setX(3); assertEquals("Error X", 3, c.getX()); assertEquals("Side effect Y", 0, c.getY()); public void checkY() throws Exception { c.setY(5); assertEquals("Error Y", 5, c.getY()); assertEquals("Side effect X", 0, c.getX()); }}

FH-Hof Annotationen für JUnit After AfterClass Before BeforeClass Ignore Test

FH-Hof Assertions assertEquals assertArrayEquals assertNull, assertNotNull assertFalse, assertTrue assertSame, assertNotSame assertThat fail

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)

FH-Hof ANT "Build Tool" zur Erzeugung von Programmsystemen Akronym ANT "Ameise" "Another Neat Tool" Home Werkzeug für Java auf Java basierend

FH-Hof Beispiel für Aktionen von Ant Kompilieren Testen JAR-Dateien erzeugen Javadoc generieren

FH-Hof Installation Umgebungsvariablen set ANT_HOME=... set JAVA_HOME=... set PATH=...;%ANT_HOME%\bin; Anweisungen für ANT über XML-Datei: build.xml

FH-Hof Beispiel für eine Build-Datei – Basis

FH-Hof Beispiel für eine Build-Datei – Jar-Datei

FH-Hof Beispiel für eine Build-Datei – JUnit-Test

FH-Hof Beispiele Aufrufe von ANT ant ant translate ant execute ant jtest ant pack

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

FH-Hof Beispiele für Tasks ant concat copy jar java javac delete mail move rmic sql tstamp

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

FH-Hof Build-Datei mit Properties I...

FH-Hof Build-Datei mit Properties II...

FH-Hof Bedingte Erzeugung von Targets

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

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)