Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger. 
Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Imperative Sprachkonzepte
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Eigene Klassen schreiben
6 Objektorientierte Beziehungsfragen
7 Ausnahmen müssen sein
8 Äußere.innere Klassen
9 Besondere Typen der Java SE
10 Generics<T>
11 Lambda-Ausdrücke und funktionale Programmierung
12 Architektur, Design und angewandte Objektorientierung
13 Komponenten, JavaBeans und Module
14 Die Klassenbibliothek
15 Einführung in die nebenläufige Programmierung
16 Einführung in Datenstrukturen und Algorithmen
17 Einführung in grafische Oberflächen
18 Einführung in Dateien und Datenströme
19 Einführung ins Datenbankmanagement mit JDBC
20 Einführung in <XML>
21 Testen mit JUnit
22 Bits und Bytes und Mathematisches
23 Die Werkzeuge des JDK
A Java SE-Paketübersicht
Stichwortverzeichnis


Download:

- Beispielprogramme, ca. 35,4 MB


Buch bestellen
Ihre Meinung?



Spacer
<< zurück
Java ist auch eine Insel von Christian Ullenboom

Einführung, Ausbildung, Praxis
Buch: Java ist auch eine Insel


Java ist auch eine Insel

Pfeil 21 Testen mit JUnit
Pfeil 21.1 Softwaretests
Pfeil 21.1.1 Vorgehen beim Schreiben von Testfällen
Pfeil 21.2 Das Test-Framework JUnit
Pfeil 21.2.1 Test-Driven Development und Test-First
Pfeil 21.2.2 Testen, implementieren, testen, implementieren, testen, freuen
Pfeil 21.2.3 JUnit-Tests ausführen
Pfeil 21.2.4 assertXXX(…)-Methoden der Klasse Assert
Pfeil 21.2.5 Matcher-Objekte und Hamcrest
Pfeil 21.2.6 Exceptions testen
Pfeil 21.2.7 Tests ignorieren und Grenzen für Ausführungszeiten festlegen
Pfeil 21.2.8 Mit Methoden der Assume-Klasse Tests abbrechen
Pfeil 21.3 Wie gutes Design das Testen ermöglicht
Pfeil 21.4 Aufbau größerer Testfälle
Pfeil 21.4.1 Fixtures
Pfeil 21.4.2 Sammlungen von Testklassen und Klassenorganisation
Pfeil 21.5 Dummy, Fake, Stub und Mock
Pfeil 21.6 JUnit-Erweiterungen, Testzusätze
Pfeil 21.7 Zum Weiterlesen
 

Zum Seitenanfang

21.6JUnit-Erweiterungen, Testzusätze Zur vorigen ÜberschriftZur nächsten Überschrift

Das Framework JUnit selbst ist recht kompakt, doch wie an den Hamcrest-Matchern abzulesen ist, gibt es die Notwendigkeit für komfortable Testmethoden, die häufig wiederkehrende typische Testaufgaben vereinfachen. Dazu zählen nicht nur Methoden, die testen, ob eine Datei vorhanden ist, sondern auch Unterstützungen für Tests mit Datenbankzugriffen, Web-Tests oder GUI-Tests.

Web-Tests

Beim Testen von Webanwendungen kommen zwei Verfahren zum Einsatz. Das eine ist eine werkzeugunterstützte Aufzeichnung von Webinteraktionen und das automatische Abspielen der Folgen für den Test, und das andere ist die programmierte Lösung. Für die Aufzeichnung bietet sich das freie Selenium (http://seleniumhq.org) bzw. die Integration in Firefox mit der Selenium IDE (http://seleniumhq.org/projects/ide) an. Wer Tests programmieren möchte, der findet mit dem Apache HttpUnit (http://httpunit.sourceforge.net) eine gute Basis.

Tests der Datenbankschnittstelle

Der Zugriff auf die Datenbank geschieht in der Regel über Repository-Klassen (auch DAO-Klassen genannt). Greift ein Service auf eine Datenbank zu, so geht er immer über das Repository. Der Test des Services wird dadurch vereinfacht, dass statt einer Datenbank-Repository-Implementierung ein Repository-Dummy untergeschoben wird. Bleibt die Frage, wie die Repository-Klassen zu testen sind.

Tests können sehr lange dauern, denn die Interaktion mit der Datenbank ist häufig der langsamste Schritt in einer ganzen Geschäftsanwendung. Eine Herangehensweise ist, die Tests lokal im Speicher laufen zu lassen. Dazu werden In-Memory-Datenbanken wie Derby, H2 oder HSQLDB verwendet. Die Datenbank ist also rein im Speicher, und so läuft ein Test sehr schnell. Der größte Nachteil dabei ist aber, dass es SQL-Dialekte gibt, und eine In-Memory-Oracle-Datenbank gibt es bisher nicht. Wenn die Repository-Implementierung für Massenoperationen auf eine gespeicherte Oracle-Prozedur zurückgreift, so kann das das einfache H2 nicht testen.

Eine weitere Aufgabe ist das Füllen der Datenbank mit Testdaten. Die Open-Source-Software DbUnit (http://dbunit.sourceforge.net) ist hier eine große Hilfe. Externe Daten sind in XML verfasst und können leicht in die Datenbank importiert werden, bevor dann der Test auf diesen Probedaten arbeitet. Die Probedaten werden dann, wenn möglich, in der In-Memory-Datenbank eingefügt oder in einer lokalen Entwicklungsdatenbank. Für fortgeschrittene Tests (und insbesondere zum Abschätzen der Laufzeit) müssen Tests aber auch mit einer Kopie der echten Geschäftsdaten durchgeführt werden.

 


Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück

 

 


Copyright © Rheinwerk Verlag GmbH 2017

Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

 

[Rheinwerk Computing]



Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de